【发布时间】:2018-04-30 06:55:32
【问题描述】:
我正在尝试对我的数据使用 LinearSVC!我的代码如下:
from sklearn import svm
clf2 = svm.LinearSVC()
clf2.fit(X_train, y_train)
导致以下错误:
ValueError: bad input shape (2190, 9)
在拆分为 y_test 和 y_train 之前,我对我的 y 值使用了 one-hot 编码,并认为这是问题所在。我尝试过实施类似的修复 (sklearn (Bad Input Shape) ValueError),但在尝试重新塑造时仍然会出错。
经过一次热编码后,我有一个目标变量 (y),它有 9 个类,并且我正在运行总共 2190 个样本。看来我需要将这 9 个类减少到 1 个类以适应 SVM。
任何建议将不胜感激!
【问题讨论】:
-
我们没有您的数据,无法运行此程序或从此 sn-p 推断所有形状。但是,如果这个错误的输入形状与 y_train 相关联,请阅读文档以查看这不是有效的输入!
-
感谢您的回复!我编辑了我的帖子以使其更清晰
-
比较形状为
(2,3)(如[[0,0,1], [1,0,0]])的目标向量与形状为(2,)的目标向量如[2,0]。这与阅读文档一起应该可以解决您的问题! -
@Ben 尝试重塑 X_train 和 y_train,使它们看起来像 X_train = [100,10] 和 y_train = [100,]。在使用 clf2.fit 之前,您可以打印这两个数组的形状并发布结果吗?
-
@Ben,你能添加数据吗?还是一个例子?
标签: scikit-learn svm