首页 > 解决方案 > 在 sklearn 中训练多个班级

问题描述

我有像这张照片这样的数据框。

我正在寻找一种方法来训练这个数据集,所以我用这个代码用 sklearn 尝试了它

train_x, test_x, train_y, test_y = train_test_split(df[['city','text']], df[['1','2','3','4']], test_size = 0.40, random_state = 21)
count_vect = CountVectorizer(analyzer='word', ngram_range=(2,3), max_features=20000)
count_vect.fit(df['text'])

x_train =  count_vect.transform(train_x)
x_test =  count_vect.transform(test_x)
classifier = DecisionTreeClassifier()
classifier.fit(x_train, train_y)

但我有这样的错误

ValueError: Number of labels=2348 does not match number of samples=1

实际上我不知道直接用它的 4 个标签训练我的数据是否可以

标签: pythonscikit-learnsentiment-analysis

解决方案


错误是因为输入的形状X应该是[n_samples, n_features]. 如果检查 的形状X,应该是 (2348, )。X改造的最佳方式

X = X[:, np.newaxis]

推荐阅读