数据集划分-交叉验证

k-折交叉验证将训练集划分为 k 个较小的集合(其他方法会在下面描述,主要原则基本相同)。 每一个 k 折都会遵循下面的过程:

  1. 将 k-1 份训练集子集作为 training data (训练集)训练模型,
  2. 将剩余的 1 份训练集子集作为验证集用于模型验证(也就是利用该数据集计算模型的性能指标,例如准确率)。

k-折交叉验证得出的性能指标是循环计算中每个值的平均值。 该方法虽然计算代价很高,但是它不会浪费太多的数据(如固定任意测试集的情况一样), 在处理样本数据集较少的问题(例如,逆向推理)时比较有优势

sklearn.model_selection.cross_val_score

sklearn.model_selection.cross_val_score(estimator, X, y=None, groups=None, scoring=None, cv=’warn’, n_jobs=None, verbose=0, fit_params=None, pre_dispatch=‘2*n_jobs’, error_score=’raise-deprecating’)

estimator:估计方法对象(分类器)
X:数据特征(Features)
y:数据标签(Labels)
cv:几折交叉验证
n_jobs:同时工作的cpu个数(-1代表全部)

from sklearn import datasets, svm
from sklearn.model_selection import cross_val_score
iris = datasets.load_iris()
X = iris.data
y = iris.target
SVC = svm.SVC()

score=cross_val_score(SVC, X, y, cv=5, scoring='accuracy')
print(score)
print(score.mean())

 

 

你可能感兴趣的:(机器学习,人工智能,深度学习)