我知道sklearn有一个很好的方法来获取交叉验证分数:
from sklearn.model_selection import cross_val_score clf = svm.SVC(kernel='linear', C=1) scores = cross_val_score(clf, iris.data, iris.target, cv=5) scores
我想知道使用特定训练集和测试集的分数:
train_list = [train1, train2, train3] # train1,2,3 是训练数据集test_list = [test1, test2, test3] # test1,2,3 是测试数据集clf = svm.SVC(kernel='linear', C=1)scores = some_nice_method(clf, train_list, test_list)
在Python中是否有这种方法可以给出特定分离数据集的分数?
回答:
这正是两行代码:
for tr, te in zip(train_list, test_list): svm.SVC(kernel='linear', C=1).train(X[tr, :], y[tr]).score(X[te, :], y[te])
score(X, y, sample_weight=None)
返回给定测试数据和标签的平均准确率。