Dibuja un diagrama del árbol de decisiones en sklearn

El árbol de decisiones en sklearn se usa a menudo para el aprendizaje automático, como la clasificación, pero realmente quiero visualizar sus resultados, no hay mucho que hablar sobre el código del árbol de clasificación :

import numpy as np
import pandas as pd
from  sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz

##准备数据
X=[np.random.rand(5) for i in range(200)]
y=[int(np.random.rand()*5) for i in range(200)]
feature_names=['A','B','C','D','E']
class_names=['qingtong','huangjin','baijin','zuanshi','xingyao']

#训练
tree=DecisionTreeClassifier(max_depth=3,random_state=234)
tree.fit(X,y)
##导出dot文件
export_graphviz(
        tree,
        out_file="C:\\honor_tree.dot",
        feature_names=feature_names,
        class_names=class_names,
        rounded=True,
        filled=True
    )

Después de ejecutarse correctamente, aparecerá un archivo de puntos: honor_tree.dot

Para mostrar los gráficos en este archivo, debe instalar graphviz

Esto tiene una versión de Windows, que es compatible con muchos sistemas.

Descargué la versión ganadora, solo son unos pocos megabytes

Después de que la instalación sea exitosa, la imagen se puede regenerar en la línea de comando:

C:\>dot -Tpng honor_tree.dot -o honor_tree.png

El resultado generará una imagen llamada honor_tree.png, el efecto es el siguiente:

 

Por supuesto, también se puede convertir en un árbol de regresión :

import numpy as np
import pandas as pd
from  sklearn.tree import DecisionTreeRegressor
from sklearn.tree import export_graphviz

##准备数据
X=[np.random.rand(5) for i in range(200)]
y=[np.random.rand()*50 for i in range(200)]
feature_names=['A','B','C','D','E']

#训练
tree=DecisionTreeRegressor(max_depth=3,random_state=234)
tree.fit(X,y)
##导出dot文件
export_graphviz(
        tree,
        out_file="C:\\honor_tree_re.dot",
        feature_names=feature_names,
        rounded=True,
        filled=True
    )

 Genere imágenes de manera similar:

C:\>dot -Tpng honor_tree_re.dot -o honor_tree_re.png

Los resultados son los siguientes:

 

Supongo que te gusta

Origin blog.csdn.net/zhou_438/article/details/108814113
Recomendado
Clasificación