交叉验证

Reads: 599 Edit

前面例子中,我们将数据分成了训练数据和测试数据来对模型进行评价。但是当样本量较少的情况下,可以使用交叉验证。

1 数据说明

我们以sklearn自带的鸢尾花数据集(Iris)为例来演示交叉验证的使用

2 导入所需模块

from sklearn.model_selection import cross_val_score
from sklearn.datasets import load_iris
from sklearn.ensemble import AdaBoostClassifier
from sklearn.svm import SVC

3 获取数据

获取鸢尾花数据集(Iris),但是不划分训练样本和测试样本!

X, y = load_iris(return_X_y=True)

4 采用交叉验证的支持向量机模型

svm = SVC()
scores_svm = cross_val_score(svm, X, y, cv=5)
print('SVM模型的得分为:',scores_svm.mean())

SVM模型的得分为: 0.9666666666666666

5 采用交叉验证的AdaBoost模型

AdaBst = AdaBoostClassifier(
    learning_rate=1,
    n_estimators=100,
    algorithm="SAMME",
)
scores_AdaBst = cross_val_score(AdaBst, X, y, cv=5)
print('AdaBoost模型的得分为:',scores_AdaBst.mean())

AdaBoost模型的得分为: 0.9533333333333334



获取案例数据和源代码,请关注微信公众号并回复:Python_dt27


Comments

Make a comment