机器学习代码实战——K折交叉验证(K Fold Cross Validation)

1.实验目的

使用sklearn库中的鸢尾花数据集,并针对以下模型使用cross_val_score来衡量每个模型的性能。 最后找出性能最佳的模型。
(1)逻辑回归
(2)支持向量机
(3)决策树
(4)随机森林

2.导入数据和必要模块

from sklearn.datasets import load_iris  #加载load_iris数据集
from sklearn.model_selection import cross_val_score  #交叉验证模块
from sklearn.linear_model import LogisticRegression  #逻辑回归
from sklearn.tree import DecisionTreeClassifier  #决策树
from sklearn.svm import SVC   #支持向量机
from sklearn.ensemble import RandomForestClassifier  #随机森林
import numpy as np   #数值运算模块

3.比较不同模型预测准确率

3.1.逻辑回归

采用十折交叉验证,将会返回10次准确率得分,然后用np.average求平均。

iris = load_iris()

lr_scores = cross_val_score(LogisticRegression(),iris.data,iris.target,cv=10)
lr_scores
np.average(lr_scores)

在这里插入图片描述

3.2.决策树

d_scores = cross_val_score(DecisionTreeClassifier(),iris.data,iris.target,cv=10)
d_scores
np.average(d_scores)

在这里插入图片描述

3.3.支持向量机

s_scores = cross_val_score(SVC(),iris.data,iris.target,cv=10)
s_scores
np.average(s_scores)

在这里插入图片描述

3.4.随机森林

rf_scores = cross_val_score(RandomForestClassifier(n_estimators=40),iris.data,iris.target,cv=10)
rf_scores
np.average(rf_scores)

在这里插入图片描述
小结:通过对比四个模型的10折交叉验证结果,可见支持向量机效果最好,达到98%。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值