sklearn.cross_validation.cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch=‘2*n_jobs’)
参数
estimator:需要使用交叉验证的算法
X:样本数据
y:样本标签
soring:交叉验证最重要的就是他的验证方式,选择不同的评价方法,会产生不同的评价结果。具体可用哪些评价指标,官方已给出详细解释,链接
具体如下:
cv:交叉验证生成器或可迭代的次数
n_jobs:同时工作的cpu个数(-1代表全部)
verbose:详细程度
fit_params:传递给估计器的拟合方法的参数
pre_dispatch:控制并行执行期间调度的作业数量。减少这个数量对于避免在CPU发送更多作业时CPU内存消耗的扩大是有用的。该参数可以是:
- 没有,在这种情况下,所有的工作立即创建并产生。将其用于轻量级和快速运行的作业,以避免由于按需产生作业而导致延迟
- int,给出所产生的总工作的确切数量
- 一个字符串,给出一个表达式作为n_jobs的函数,如’2 * n_jobs’
返回
交叉验证每次运行的评分数组
from sklearn.model_selection import cross_val_score
from sklearn import svm
from sklearn import datasets
clf = svm.SVC(kernel='linear', C=1)
iris = datasets.load_iris()
scores = cross_val_score(clf, iris.data, iris.target, cv=5)
print(scores)
[0.96666667 1. 0.96666667 0.96666667 1. ]