错误:未知标签类型:“未知” .... y_train值与x_train值不一致

时间:2019-05-07 07:01:57

标签: python scikit-learn natural-language-processing

我有这个代码序列

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

我的想法是仅使用tf-idf结果的900个中的前500个最佳功能

现在的问题是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的更新值吗?

1 个答案:

答案 0 :(得分:-1)

通过SelectKBest放置X_train_S数据会将的数量从900个减少到500个,但不会影响数据中的数量,因此不应引起y_train_S和X_train中的元素数量不匹配的问题。

您看到的错误很可能是由this引起的。