我正在使用 scikit-learn
,想要评估一个 SVM
在测试集上的预测
结果。
from sklearn.svm import SVCimport numpydataset = numpy.loadtxt("training.txt", delimiter="\t")X = dataset[:,0:15]y = dataset[:,15:16]y = y.ravel()test_dataset_1 = numpy.loadtxt("test_14-15.txt", delimiter="\t")X_test_1 = test_dataset_1[:,0:15]y_test_1 = dataset[:,15:16]y_test_1 = y_test_1.ravel()model = SVC(kernel='linear', C=75) model.fit(X, y)score_1 = model.score(X_test_1, y_test_1)
我遇到了ValueError错误:
发现输入变量的样本数量不一致:[1682, 192]
我的训练集有1682个样本,而测试集有192个样本。但我在score方法中只使用了测试集。为什么会出现这个错误?
回答:
将这段代码:
y_test_1 = dataset[:,15:16]
改为这段代码:
y_test_1 = test_dataset_1[:,15:16]
你再次读取了原始训练数据到y_test_1
中,因此它与X_test_1
中的样本数量不匹配。