(self, x, y, sample_weights=None)
| 17 | self.model.fit(x, y, sample_weight=sample_weights) |
| 18 | |
| 19 | def test_model(self, x, y, sample_weights=None): |
| 20 | # model_acc = self.model.score(x, y, sample_weight=sample_weights) |
| 21 | |
| 22 | # zeros_count = y['y_values'].value_counts().loc[0] |
| 23 | # null_acc = zeros_count/len(y) |
| 24 | |
| 25 | y_true = pd.DataFrame(index=y.index) |
| 26 | y_true.loc[y['y_values'] == 1, 'up'] = 1 |
| 27 | y_true.loc[y['y_values'] == -1, 'down'] = 1 |
| 28 | y_true.loc[y['y_values'] == 0, 'no_ch'] = 1 |
| 29 | y_true = y_true.fillna(0) |
| 30 | |
| 31 | y_pred = self.model.predict_proba(x) |
| 32 | model_loss = log_loss(y_true, y_pred, sample_weight=sample_weights) |
| 33 | |
| 34 | base_case = pd.DataFrame(index=y.index) |
| 35 | base_case['up'] = np.zeros(len(y)) |
| 36 | base_case['down'] = np.zeros(len(y)) |
| 37 | base_case['no_ch'] = np.ones(len(y)) |
| 38 | |
| 39 | base_loss = log_loss(y_true, base_case) |
| 40 | |
| 41 | # print(f'Model accuracy: {model_acc}') |
| 42 | # print(f'Null accuracy: {null_acc}') |
| 43 | print(f'Model log loss: {model_loss}') |
| 44 | print(f'Base log loss: {base_loss}') |
nothing calls this directly
no outgoing calls
no test coverage detected