SVM: 对测试数据进行评分

我正在使用 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中的样本数量不匹配。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注