Python 使用mnist数据集的SVM是否100%准确?

Python 使用mnist数据集的SVM是否100%准确?,python,machine-learning,svm,mnist,Python,Machine Learning,Svm,Mnist,因此,我使用sklearn的svm.SVC模块编写了一个程序来学习mnist数据集,出于某种原因,每当我计算其100%的准确度时。这似乎太好了,不可能是真的,这是预期的吗 从sklearn导入数据集 从sk学习输入svm 数字=数据集。加载数字() clf=svm.SVC(伽马=0.001,C=100) 打印(len(数字、数据)) 列车运行时,首列车运行时=50 x、 y=数字。数据[:-train_with_first],数字。目标[:-train_with_first] clf.配合(x,

因此,我使用
sklearn
svm.SVC
模块编写了一个程序来学习mnist数据集,出于某种原因,每当我计算其100%的准确度时。这似乎太好了,不可能是真的,这是预期的吗

从sklearn导入数据集
从sk学习输入svm
数字=数据集。加载数字()
clf=svm.SVC(伽马=0.001,C=100)
打印(len(数字、数据))
列车运行时,首列车运行时=50
x、 y=数字。数据[:-train_with_first],数字。目标[:-train_with_first]
clf.配合(x,y)
打印(数字。数据[4])
num_corr=0
总数=0
对于范围内的pred(带第一列-1的列车):
prediction=clf.predict(digits.data[pred].重塑(1,-1))
目标=位数。目标[pred]
打印(整数(目标))
打印(整数(预测))
如果int(目标)==int(预测):
num_corr+=1
总数+=1
打印(“精度为:”,(浮点数/总数)*100)

我预计准确率低于100%

可能是拟合过度,因为您使用的预测数据都在您的训练数据中,请尝试在sklearn to split训练和测试集中使用
train\u test\u split

或者你可以把第18行从

用于范围内的pred(带第一列-1的列车):

适用于范围内的pred(首先是列,然后是列(digits.data)):


但是建议使用
train\u test\u split

似乎您没有;t将其拆分为训练集和测试集,它可能与训练集过度拟合,尝试使用不在训练数据中的数据进行预测。@JimChen我在第10行拆分了训练数据,您使用的方法是使用数据0到数据n-50对模型进行训练,您使用数据0到数据50进行预测,因此,您使用的预测数据都在您的培训数据中,请尝试在SKL中使用
train\u test\u split
学习分割培训和测试集。@JimChen成功了,您可以继续并将其作为答案,以便我可以将其标记为正确,并给您声誉列表有预定义的培训和测试分割,您没有使用它们。