决策树—鸢尾花数据集实验

决策树鸢尾花数据集实验

import numpy as np

from sklearn.tree import DecisionTreeClassifier
import sklearn.datasets as datasets
from sklearn.model_selection import train_test_split

# 画树状图的包   http://www.graphviz.org/
import graphviz
from sklearn import tree


# 导入数据集
iris=datasets.load_iris()
X=iris['data']
y=iris['target']
#进行数据集的划分
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2)
#调用决策树函数
clf=DecisionTreeClassifier()
clf.fit(X_train,y_train)
#预测结果
clf.predict(X_test)
#模型得分
clf.score(X_test,y_test)

graphviz包 需要手动安装:
1.在官网下载http://www.graphviz.org/ 下载.msi的文件 。
2.安装完成后进行环境变配置,记住安装的路径,找到/bin 目录,复制路径放到环境变量path中。
决策树—鸢尾花数据集实验_第1张图片
3.将 jupyter notebook 完全关闭 ,重新打开就可以导入import graphviz
4.对于决策树这里,graphviz 结合 sklearn.tree 模块使用

# 使用gravphviz 进行画图  树状图
data=tree.export_graphviz(clf,out_file=None,feature_names=iris.feature_names,class_names=iris.target_names,filled=True)
graph=graphviz.Source(data)
graph

决策树—鸢尾花数据集实验_第2张图片
export_graphviz()中参数的解释:

tree.export_graphviz(
    
decision_tree,       选择使用的算法,这里不单单是决策树,还有很多集成模型,例如随机森林,ExtraTrees(极端随机树),AdaBoost(adaptive boosting),GradientBoosting(gbdt 梯度提升),xgboost,lightgbm
out_file=None,       是否输出文件,一般选择none
*,
max_depth=None, 最大深度,在进行优化的时候会进行调参设置这个数值  防止过拟合
feature_names=None,   特征名字 、做图用
class_names=None,分类名
filled=False,   做图填充颜色,颜色越深代表纯度越大
)

你可能感兴趣的:(机器学习,数据挖掘,算法,机器学习)