Untitled
unknown
plain_text
a year ago
2.7 kB
4
Indexable
def predict_attrition(config, model): if type(config) == dict: df_prep = config.copy() df = pd.DataFrame(df_prep, index=[0]) else: df = config.copy() # Read in and filter out columns from original data for use for the pipe attrition_df_temp = pd.read_csv("HR.csv") data_temp = attrition_df_temp.copy() data_temp_dropped_X = data_temp.drop(['ID', 'Name','left_Company'], axis=1) data_temp_dropped_Y = data_temp["left_Company"].copy() # Run pipeline_transformer once to make full_pipeline available for make_pipeline _ = pipeline_transformer(data_temp_dropped_X) pipe = make_pipeline(full_pipeline, model) # Fit the pipe onto the original data to remember possible values for each categorical feature pipe.fit(data_temp_dropped_X, data_temp_dropped_Y) y_pred = pipe.predict(df) probability = pipe.predict_proba(df) return y_pred, probability #example def predict(): with open('attrition_prediction_model.bin', 'rb') as file: model = pickle.load(file) file.close() # 28 REICHARD Human Resources Japan Manager 1 1 0 1 1 0.4 1 3 1 3 6 226 9 1 0 low M 4 2 2 2 2 2 2 3 data_dict = {"Department":str("IT"), "GEO":str("US"), "Role":str("VP"), "Rising_Star":int(5), "Will_Relocate":int(1), "Critical":int(0), "Trending Perf":int(1), "Talent_Level":int(1), "Percent_Remote":float(0.82), "EMP_Sat_OnPrem_1":int(1), "EMP_Sat_Remote_1":int(3), "EMP_Engagement_1":int(1), "last_evaluation":int(3), "number_project":int(6), "average_montly_hours":int(226), "time_spend_company":int(9), "promotion_last_5years":int(0), "salary":str("medium"), "Gender":str("F"), "Emp_Work_Status2":int(4), "Emp_Identity":int(2), "Emp_Role":int(2), "Emp_Position":int(2), "Emp_Title":int(2), "Emp_Satisfaction":int(2), "Emp_Competitive_1":int(2), "Emp_Collaborative_1":int(3)} # Execute prediction using form data and finished model predict_value = predict_attrition(data_dict, model)[0] predict_probability = predict_attrition(data_dict, model)[1] print("predict_value:",predict_value) print("predict_probability 0 / 1 ",predict_probability)
Editor is loading...
Leave a Comment