糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测

【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测

时间:2018-10-27 15:20:26

相关推荐

【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测

利用决策树进行鸢尾花数据集分类预测

2 利用决策树进行鸢尾花数据集分类预测2.1 导入模块与加载数据2.2 划分数据2.3 模型创建与应用2.4 模型可视化

手动反爬虫,禁止转载:原博地址 /lys_828/article/details/122045161(CSDN博主:Be_melting)

知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息

2 利用决策树进行鸢尾花数据集分类预测

2.1 导入模块与加载数据

在进行逻辑回归分类的过程中已经有使用过iris数据集,这里直接加载数据,并进行字段名称的修改。

import numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltsns.set(color_codes=True)%matplotlib inlineiris_df = pd.read_csv('../data/iris.csv',header=None)col_name = ['sepal length', 'sepal width', 'petal length', 'petal width', 'class']iris_df.columns = col_name

输出结果如下。

通过info()方法查看各个字段的基本详情,输出结果如下。字段中数据已经是处理完整,没有需要清洗的部分。

2.2 划分数据

首先进行特征数据和标签数据的划分。

X = iris_df.drop(columns=['class'])X.head(5)y = iris_df['class']y.head(5)

输出结果如下。

接着就是对数据集进行训练数据和测试数据的划分。在前一个案例中,数据量不超过20条,全部应用在模型中,而真实的环境中,为了保证模型的稳定性,需要进行训练和测试数据的划分,代码操作如下。

from sklearn.model_selection import train_test_splitX_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2)

输出结果如下。

2.3 模型创建与应用

#第一步:导入模型from sklearn.tree import DecisionTreeClassifier#第二步:模型初始化model = DecisionTreeClassifier()#第三步:模型训练model.fit(X_train,y_train)#第四步:模型预测predictions = model.predict(X_test)predictions#第五步:模型评估from sklearn.metrics import accuracy_scorescore = accuracy_score(y_test,predictions)score

输出结果如下。

如果日后有需要,觉得当前模型得分还行,可以进一步将模型保存本地。(根据个人需要选择)

import joblibjoblib.dump(model,'iris.joblib')

输出结果如下。

2.4 模型可视化

有了案例一的操作,对于模型预测的流程和结果可视化就简单了,对前面提及到了五个参数进行修改就可以了,代码如下。

from sklearn import treetree.export_graphviz(model,out_file='iris.dot',feature_names=['sepal length', 'sepal width', 'petal length', 'petal width'],class_names=sorted(y.unique()),label='all',rounded=True,filled=True)

输出结果如下。

对生成的文件,用软件打开后,生成的决策树图形结果如下。也可以参照案例一中的操作,将图片加载到jupyter notebook中,有兴趣可以进行数据的核验。

如果觉得《【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。