Python sklearn数字数据集的输入形状错误

Python sklearn数字数据集的输入形状错误,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我得到的错误是 import sklearn import matplotlib.pyplot as plt from sklearn import datasets from sklearn import svm digits = datasets.load_digits() clf = svm.SVC(gamma=0.01,C= 100) x = digits.data[:-10] y = digits.data[:-10] clf.fit(x,y) print ("predic

我得到的错误是

import sklearn
import matplotlib.pyplot as plt

from sklearn import datasets
from sklearn import svm

digits = datasets.load_digits()

clf = svm.SVC(gamma=0.01,C= 100)

x = digits.data[:-10]
y = digits.data[:-10]

clf.fit(x,y)

print ("prediction:",clf.predict(digits.data[-1]))

plt.imshow(digits.image[-1],cmap = plt.cm.gray_r, interpolation ="nearest")
plt.show
我不确定阵列的形状应该是什么


有人能帮忙吗!谢谢

您应该使用digits.target作为y,而不是digits.data。SVM只接受1D预测变量,这暗示您向它传递了错误的值。target是x中8x8图像所描绘的值0..9。

Arya McCarthy关于使用数字的建议。target as y是正确的。因此,将digits.data声明为特征变量x,digits.target声明为目标变量y是正确的。请尝试您的代码,我修改如下:

Traceback (most recent call last):
  File "python", line 14, in <module>
ValueError: bad input shape (1787, 64)
下面是我运行代码的结果


它应该是y=digits.data[-10:]。@COLDSPEED谢谢你的评论,我把它改成了你说的方式,仍然抛出了错误作为文件python,第15行,在ValueError:bad input shape 10,64任何错误都应该编辑到你的帖子中。注释不是调试损坏代码的最佳位置。顺便说一句,我建议尝试找出您的数据和标签是什么,并相应地进行切片。我当然不知道,因为这不是我的数据,我不会用ssh连接到您的系统中去发现。第二行应该是y=数字。目标[:-10]为什么我的答案在我给OP一个正确答案时被否决?为什么我给OP一个正确答案时被否决?
import sklearn
import matplotlib.pyplot as plt

from sklearn import datasets
from sklearn import svm

digits = datasets.load_digits()

clf = svm.SVC(gamma=0.01,C= 100)

x = digits.data
y = digits.target

clf.fit(x,y)
print ("prediction:",clf.predict(digits.data[-1].reshape(1, -1)))
plt.imshow(digits.images[-1],cmap = plt.cm.gray_r, interpolation ="nearest")
plt.show()