У меня была эта последовательность кодов
from sklearn.feature_extraction.text import TfidfVectorizer
tfidfconverter = TfidfVectorizer(max_features=900, min_df=5, max_df=0.7, stop_words='english')
X = tfidfconverter.fit_transform(nlistRawDocs)
обратите внимание на верхнюю часть: max_features - 900
from sklearn.model_selection import train_test_split
X_train_S, X_test, y_train_S, y_test = train_test_split(X, trainDF['label'], test_size=0.2, random_state=0)
chi2 = SelectKBest(score_func=chi2, k=500)
X_train = chi2.fit_transform(X_train_S, y_train_S)
с здесь k = 500
моя идея былапросто использовать только 500 лучших выбранных функций из 900 результатов tf-idf
Теперь проблема в значении y_train_S, я считаю, что оно не совпадает с количеством элементов в X_train
так как я буду это делать?
, когда это передается на
classifier = RandomForestClassifier(n_estimators=1000, random_state=0)
classifier.fit(X_train, y_train_S)
, он возвращает ошибку:
Неизвестный тип метки: «неизвестный»
Я понимаю, что X_train и y_train не совпадают только с их номером, что я не знаю, чтобы получить обновленное значение y_train_S?