1.训练和可视化决策树
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz
iris=load_iris()
X=iris.data[:,2:]
y=iris.target
tree_clf=DecisionTreeClassifier(max_depth=2)
tree_clf.fit(X,y)
#决策树可视化
export_graphviz(
tree_clf,
out_file="iris_tree.dot",
feature_names=iris.feature_names[2:],
class_names=iris.target_names,
rounded=True,
filled=True
)
对应目录文件下用命令行输入,将.dot文件转换成.png格式的文件
dot -Tpng iris_tree.dot -o 1.png
这个图怎么看呢?
假设找到一株花,从根节点开始看,首先判读花瓣长度是否<=2.45cm,如果是,就下移到根的左节点(深度:1,左),在这种情况下它就分类为class=setosa。那假如出现了另一株花,花瓣长度>2.45,跑到了右侧,此时不是叶子结点,此时继续第二个判断花瓣宽度<=1.75,再进行是否分类
网友评论