Есть данные (X, y), по которым осуществляется поиск и обучение в функции GridSearchCV.Обучение проходит по пользовательскому критерию T_scorer.Возможно ли в функции T_scorer получить обученную модель для использования?Мне нужно "T_scorer" прогнозировать данные "X1".То есть модель обучается на данных (X, y) на каждой итерации и прогнозируется на (X1, y1). Снова (X1, y1) вообще не участвуют в обучении, и "GridSearchCV" эти данные не видят.
В идеале, мы должны провести обучение по данным (X, y), и при «подсчете» должны передаваться результаты, основанные на предсказаниях (X1, y1))
def T_scorer(y_true, y_pred, clf, **kwargs):
r = np.sum((y_pred == 0) & (y_pred == y_true))
y_pred1 = clf.predict(X1) #It doesn't work
confmat = confusion_matrix(y, y_pred)
print(confmat)
print(r)
return r
_scorer = make_scorer(T_scorer)
clf = RandomForestClassifier()
grid_searcher = GridSearchCV(clf, parameter_grid, cv=StratifiedKFold(shuffle =True,random_state=42),verbose=20, scoring=_scorer)
grid_searcher.fit(X, y)
clf_best = grid_searcher.best_estimator_
print('Best params = ', clf_best.get_params())