Я пытался создать конвейер sklearn с моим собственным FeatureSelector и векторизатором TF-IDF. Но безуспешно.
class FeatureSelector(BaseEstimator, TransformerMixin):
def __init__(self, feature_names):
self.feature_names = feature_names
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.feature_names]
tfidf_vect = TfidfVectorizer(max_features=50000,ngram_range=(1,2))
feature_pipeline = make_pipeline( (FeatureSelector(['text']) ))
full_pipeline = Pipeline( steps = [( 'feature_pipeline', feature_pipeline ),('tfidf',tfidf_vect),('clf',SVM)])
full_pipeline.fit(train_x,y_train)
Это показывает мне следующую ошибку.
"ValueError: Найдены входные переменные с непоследовательным количеством выборок: [1, 30597]"