【发布时间】:2018-07-04 05:38:24
【问题描述】:
使用下面的代码,我有 Accuracy 。现在我正在尝试
1) 找到每个折叠的 precision 和 recall(总共 10 折叠)
2) 为precision 获取mean
3) 为recall 获取mean
这可能类似于下面的print(scores) 和print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2))。
有什么想法吗?
import numpy as np
from sklearn import cross_validation
from sklearn import datasets
from sklearn import svm
from sklearn.model_selection import StratifiedKFold
iris = datasets.load_iris()
skf = StratifiedKFold(n_splits=10)
clf = svm.SVC(kernel='linear', C=1)
scores = cross_validation.cross_val_score(clf, iris.data, iris.target, cv=10)
print(scores) #[ 1. 0.93333333 1. 1. 0.86666667 1. 0.93333333 1. 1. 1.]
print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2)) # Accuracy: 0.97 (+/- 0.09)
【问题讨论】:
标签: python machine-learning scikit-learn svm cross-validation