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%。