Skip to content

Instantly share code, notes, and snippets.

View MoGaber's full-sized avatar

Mohamed Gaber MoGaber

View GitHub Profile
shap.summary_plot(shap_values, x_test)
shap.initjs()
shap.force_plot(explainer.expected_value, shap_values[1,:], x_test.iloc[20,:])
model_dataset = pd.merge(full_data,professionals_dataset,how='left', on=["professional_id" ])
explainer = shap.LinearExplainer(LR, x_train, feature_perturbation="interventional")
shap_values = explainer.shap_values(x_test)
shap.summary_plot(shap_values, x_train, plot_type="bar")
x_train, x_test, y_train, y_test = train_test_split(resampled_data, target, test_size=0.2, random_state=42)
LR = LogisticRegression(max_iter = 10000)
LR.fit(x_train, y_train)
LR.score(x_test, y_test)
positive = model_dataset[ model_dataset["q_answered?"] != 0]
negative = model_dataset[ model_dataset["q_answered?"] == 0]
negative_sample = negative.sample(5000)
resampled_data = pd.concat([positive,negative_sample ])
model_dataset["num_schools"] =model_dataset["num_schools"].fillna(0)
model_dataset["num_groups"] = model_dataset["num_groups"].fillna(0)
model_dataset["following_tags"]= model_dataset["following_tags"].fillna("Na")
model_dataset["prev_q_tags"]= model_dataset["prev_q_tags"].fillna("Na")
model_dataset["q_tags"]= model_dataset["q_tags"].fillna("Na")
# creating a data for all the professionals
professionals_dataset = pd.DataFrame(columns = ["professional_id"])
professionals_dataset["professional_id"] = professionals["professionals_id"]
print("Email was sent at: ",full_data.loc[33299]["emails_date_sent"])
print("Answer was added at: ",full_data.loc[33299]["answers_date_added"])