一.描述
- 使用包括交叉验证在内的各种评估工具,如模型选择子模块model_selection中的cross_val_score和GridSearchCV等
- 交叉验证的原理最常用的是K折交叉验证,就是将样本等分为k份,每次用其中的k-1份作训练集,剩余1份作测试集,训练k次,返回每次的验证结果。
二.描述
from sklearn.datasets import load_wine
X, y = load_wine(return_X_y=True)
y.shape
# 为cv参数指定一个交叉验证分离器
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
# 实例化决策树分离器
dtc = DecisionTreeClassifier()
# 实例化交叉验证分离器
cv = KFold(n_splits=3, shuffle=True, random_state=0)
# 交叉验证
cross_val_score(dtc, X, y, cv=cv)
# 使用随机交叉分离器ShuffleSplit类
from sklearn.model_selection import ShuffleSplit
cv = ShuffleSplit(n_splits=3, test_size=.25, random_state=0)
# 交叉验证
cross_val_score(dtc, X, y, cv=cv)
# 使用留一法进行验证
from sklearn.model_selection import LeaveOneOut
cv = LeaveOneOut()
cross_val_score(dtc, X, y, cv=cv)
cross_val_score(dtc, X, y, cv=cv).mean()