Использование подогнанной модели в make_scorer для gridsearchcv - PullRequest
0 голосов
/ 29 октября 2018

Я создаю собственный счетчик для объекта gridsearchcv. Для оценщика клиентов мне нужны вероятности из двух разных фреймов данных, но модель следует обучать только на одном из фреймов данных. Другой фрейм данных необходим для получения вероятностей. Эти вероятности будут использованы в функции оценки.

Я подумал о конкатенации фреймов данных, но для одного из фреймов данных нет правды. Это создаст проблему с передачей y_true.

Я также пытался передать модель в пользовательскую функцию оценки, но получил ответ, что модель не подходит. Вот пример того, что я пытаюсь сделать:

def fit(self, X_train, y_train, X_info):
    grid = self._create_grid_search()
    clf = GradientBoostingClassifier()
    score_func = make_scorer(self.make_custom_score, needs_proba=True, clf=clf, X_info=X_info)


    model = GridSearchCV(estimator=clf, 
                         param_grid=grid, 
                         scoring=score_func,
                         cv=3)


def make_custom_score(self, y_true, y_score, clf, X_info):

Я нашел этот вопрос: Перекрестная проверка SKLearn: Как передать информацию о примерах сгиба в мою функцию счетчика? что, кажется, что-то, что может быть возможным. Казалось бы, такой подход заключается в написании функции в форме счетчика (оценщик, X, y), но я думаю, что в этом все еще будет проблема, что модель будет обучена на всех данных. Есть ли способ передать оценщик в пользовательскую функцию оценки, которая будет использоваться gridsearchcv?

...