python - 在 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 个标签训练我的数据是否可以
解决方案
错误是因为输入的形状X
应该是[n_samples, n_features]
. 如果检查 的形状X
,应该是 (2348, )。X
改造的最佳方式
X = X[:, np.newaxis]
推荐阅读
- flutter - Flutter 如何导航回特定页面
- android - 如何扩展矢量可绘制对象?
- python - 使用 Numpy 在 Python 中优化数组操作
- python - (hairSimulation/CFX)同时选择具有自己的副本和混合形状的多条曲线
- docker - 我可以在启动 docker 会话后增加共享内存吗
- python - 以下基于值对字典进行排序的代码如何在 python 中工作?
- swift - Catalina Beta 5:Quicktime 音频录制在 2018 Macbook Pros sw 上不起作用
- swift - SwiftUI:如何弹出到根视图
- vb.net - 使用 Blogger API 添加新博客文章
- java - JavaFX 项目找不到使用 Java 11 的外部库