Spaces:
Sleeping
Sleeping
tgs part 2
Browse files- model_day.py +24 -3
model_day.py
CHANGED
@@ -119,9 +119,30 @@ def walk_forward_validation_seq(df, target_column_clf, target_column_regr, num_t
|
|
119 |
overall_results.append(result_df)
|
120 |
|
121 |
df_results = pd.concat(overall_results)
|
122 |
-
|
123 |
-
#
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
return df_results, model1, model2
|
126 |
|
127 |
def seq_predict_proba(df, trained_reg_model, trained_clf_model):
|
|
|
119 |
overall_results.append(result_df)
|
120 |
|
121 |
df_results = pd.concat(overall_results)
|
122 |
+
|
123 |
+
# Calibrate Probabilities
|
124 |
+
def get_quantiles(df, col_name, q):
|
125 |
+
return df.groupby(pd.cut(df[col_name], q))['True'].mean()
|
126 |
+
|
127 |
+
greenprobas = []
|
128 |
+
meanprobas = []
|
129 |
+
for i, pct in enumerate(df_results['Predicted']):
|
130 |
+
try:
|
131 |
+
df_q = get_quantiles(df_results.iloc[:i], 'Predicted', 7)
|
132 |
+
for q in df_q.index:
|
133 |
+
if q.left <= pct <= q.right:
|
134 |
+
p = df_q[q]
|
135 |
+
c = (q.left + q.right) / 2
|
136 |
+
except:
|
137 |
+
p = None
|
138 |
+
c = None
|
139 |
+
|
140 |
+
greenprobas.append(p)
|
141 |
+
meanprobas.append(c)
|
142 |
+
|
143 |
+
df_results['CalibPredicted'] = meanprobas
|
144 |
+
df_results['CalibGreenProba'] = greenprobas
|
145 |
+
|
146 |
return df_results, model1, model2
|
147 |
|
148 |
def seq_predict_proba(df, trained_reg_model, trained_clf_model):
|