Gemäß der documentation ist es nicht möglich, auf das Setzen der zusätzlichen Informationen in den Boxen zu verzichten. Das einzige, was Sie implizit weglassen können, ist der impurity
Parameter.
Allerdings habe ich es den anderen expliziten Weg gemacht, der etwas krumm ist. Zuerst speichere ich die .dot Datei, die die Verunreinigung auf setzt Falsch. Dann öffne ich es und wandle es in ein String-Format um. Ich verwende Regex, um die redundanten Labels zu subtrahieren und erneut zu speichern.
Der Code lautet:
import pydotplus # pydot library: install it via pip install pydot
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz
from sklearn.datasets import load_iris
data = load_iris()
clf = DecisionTreeClassifier()
clf.fit(data.data, data.target)
export_graphviz(clf, out_file='tree.dot', impurity=False, class_names=True)
PATH = '/path/to/dotfile/tree.dot'
f = pydot.graph_from_dot_file(PATH).to_string()
f = re.sub('(\\\\nsamples = [0-9]+)(\\\\nvalue = \[[0-9]+, [0-9]+, [0-9]+\])', '', f)
f = re.sub('(samples = [0-9]+)(\\\\nvalue = \[[0-9]+, [0-9]+, [0-9]+\])\\\\n', '', f)
with open('tree_modified.dot', 'w') as file:
file.write(f)
Hier sind die Bilder vor und nach der Änderung:
In Ihrem Fall scheint es in Kisten mehr Parameter zu sein, so Vielleicht möchten Sie den Code ein wenig optimieren.
Ich hoffe, dass hilft!
Vielen Dank für Ihre Hilfe! Du rettest mich :) – DionysoSong