Из ссылки ниже я понял, что утечки данных в 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, если наши данные поезда представляют собой комбинацию числовых + текстовых функций?