Утечка данных с помощью GridSearchCV - как использовать конвейер, чтобы избежать утечки данных, если данные поезда представляют собой комбинацию числовых + текстовых функций - PullRequest
0 голосов
/ 16 октября 2019

Из ссылки ниже я понял, что утечки данных в GridSearchCV можно избежать при использовании Pipeline.

Являются ли k-кратные оценки перекрестной проверки из "cross_val_score" и `scikit-learn`GridsearchCV` смещен, если мы включим трансформаторы в конвейер?

Но, похоже, в примере, упомянутом в приведенной выше ссылке, они просто имеют числовые данные, для которых StandardScaler () используется для предварительной обработки.

Если в случае, если наши данные представляют собой комбинацию числовых + текстовых, нам необходимо стандартизировать числовые данные и использовать векторизаторы BOW / TFIDF для предварительной обработки текста.

Позволять обучать данные (числовые + текст): data_train, output: y

pipe = Pipeline([
    ('sc', StandardScaler()),
    ('vec', CountVectorizer()),
    ('lr', LogisticRegression(random_state=42))
])

params = {
    'lr__penalty': ['l2']
}

gs=GridSearchCV(pipe, param_grid=params, cv=5)

gs.fit(data_train, y)

gs.cv_results_

Мы подгоняем модель gridsearchcv gs с data_train (числовой + текст)

В этом случае выполните 'sc', 'vec' из каналаприменить к числовому, тексту моего data_train отдельно? Или это приведет к какой-либо ошибке?

Как справиться с утечкой данных в GridSearchCV, если наши данные поезда представляют собой комбинацию числовых + текстовых функций?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...