[PYTHON] Visualisieren Sie den Entscheidungsbaum von Scikit-Learn mit Plotlys Treemap

Dies

image.png

Mach das: Engel:

image.png

Weise

Visualisiere mit plot_tree

Erstellen Sie zunächst einen Entscheidungsbaum normal und visualisieren Sie ihn mit plot_tree.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier, plot_tree

data = load_breast_cancer()
X, y = data['data'], data['target']
feature_names = data['feature_names']

model = DecisionTreeClassifier(criterion='entropy').fit(X,y)

plt.figure(figsize=(12, 4), dpi=200)
plot_tree(model, feature_names=feature_names, filled=True)
plt.show()

image.png

es ist normal.

Visualisiere mit Treemap

Als nächstes zerlegen wir den von uns erstellten Entscheidungsbaum und visualisieren ihn mit "Treemap".

import plotly.graph_objects as go

labels = [''] * model.tree_.node_count
parents = [''] * model.tree_.node_count
labels[0] = 'root'
for i, (f, t, l, r) in enumerate(zip(
    model.tree_.feature,
    model.tree_.threshold,
    model.tree_.children_left,
    model.tree_.children_right,
)):
    if l != r:
        labels[l] = f'{feature_names[f]} <= {t:g}'
        labels[r] = f'{feature_names[f]} > {t:g}'
        parents[l] = parents[r] = labels[i]

fig = go.Figure(go.Treemap(
    branchvalues='total',
    labels=labels,
    parents=parents,
    values=model.tree_.n_node_samples,
    textinfo='label+value+percent root',
    marker=dict(colors=model.tree_.impurity),
    customdata=list(map(str, model.tree_.value)),
    hovertemplate='''
<b>%{label}</b><br>
impurity: %{color}<br>
samples: %{value} (%{percentRoot:%.2f})<br>
value: %{customdata}'''
))
fig.show()

image.png

Knoten, die zerstört und unsichtbar sind, können durch Klicken auf einen Sektor angezeigt werden.

image.png

das Ende

Im Gegensatz zu plot_tree können Sie nicht jede Klasse einfärben, daher kann es schwierig sein, sie ohne binäre Klassifizierung oder Regression zu verwenden: heat_smile:

Verweise

Recommended Posts

Visualisieren Sie den Entscheidungsbaum von Scikit-Learn mit Plotlys Treemap
Visualisieren Sie den Entscheidungsbaum mit einem Jupyter-Notizbuch
Visualisieren Sie die Ergebnisse von Entscheidungsbäumen, die mit Python scikit-learn erstellt wurden
Erstellen eines bestimmten Baums mit Scikit-Learn
Vorhersage der Zukunft mit maschinellem Lernen - Vorhersage zukünftiger Aktienkurse mit dem Entscheidungsbaum von Scikit-Learn
Ich habe versucht, alle Entscheidungsbäume des zufälligen Waldes mit SVG zu visualisieren
Isomap mit Scikit-lernen
DBSCAN mit Scikit-Learn
Clustering mit Scikit-Learn (1)
Clustering mit Scikit-Learn (2)
PCA mit Scikit-Learn
kmeans ++ mit scikit-learn
Kreuzvalidierung mit Scikit-Learn
Mit Pandas schnell visualisieren
Mehrklassen-SVM mit Scikit-Learn
Clustering mit scikit-learn + DBSCAN
Scikit-Lernen mit Chemoinfomatik
Visualisieren Sie Ansprüche mit AI
Visualisieren Sie 2019 nem mit WordCloud
DBSCAN (Clustering) mit Scikit-Learn
Installieren Sie scikit.learn mit pip
Berechnen Sie tf-idf mit scikit-learn
[Maschinelles Lernen] Entscheidungsbäume aus Scikit-Lernen und Mathematik verstehen