利用决策树进行鸢尾花数据集分类预测
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中,有兴趣可以进行数据的核验。