У меня есть методологическое сомнение относительно перекрестной проверки (CV). Я нашел несколько научных работ, в которых сообщается о результатах применения CV по всему набору данных. Итак, допустим, я хочу это сделать. Мое сомнение возникает, когда мы должны работать с текстом и сначала применить некоторые преобразования к данным, такие как векторизация. В этом случае, следует ли применять векторизацию ко всему набору данных, не разбивая ее на поезд / тест? Лучшее решение, которое я нашел для этого, состоит в том, чтобы использовать конвейер, подобный следующему, который я использую для векторизации представления текста в части речи:
pipe = make_pipeline(ColumnSelector(column='pos'),
TfidfVectorizer(binary=True, ngram_range=(1,3), max_features=5000),
SVC(kernel='linear', random_state=seed))enter code here
Затем я использую этот конвейер для запуска CV надвесь набор данных:
cv_results = model_selection.cross_val_score(pipe, X, y, cv=skf, scoring=scoring)
Я хотел бы убедиться, что этот метод правильный и правильный. Спасибо!