ich den folgenden Code in einem ‚Text‘ binäres Klassifikationsproblem mit:export_graphviz und Visualisierung eines DT
def visualize_tree(tree,feature_names):
dot_data = StringIO()
export_graphviz(tree,
out_file=dot_data,
feature_names=feature_names,
special_characters=True)
graph = pydot.graph_from_dot_data(dot_data.getvalue(),)
graph.write_pdf("iris.pdf")
vec = CountVectorizer(lowercase=True, tokenizer=tokens2, binary=True, ngram_range=(1,2))
x = vec.fit_transform(X_train)
clf1 = DecisionTreeClassifier()
clf1.fit(x, y_train)
visualize_tree(clf1, vec.get_feature_names())
Wenn ich es verwenden ohnefeature_names=feature_names,
es wird ein schöner Baum wie diese erzeugen:
Allerdings, wenn ich feature_names=feature_names,
fügen sie zusätzliche Details zu dem Baum hinzuzufügen, gibt es mir den folgenden ‚semi Baum‘ !:
Alles in einer Zeile ohne Pfeile! Irgendeine Idee warum? Gibt es alternative Möglichkeiten, die ich ausprobieren kann?
sehr seltsam, können Sie ein minimales Beispiel erstellen Wo passiert das? passiert es immer noch, wenn Sie in DecisionTreeClassifier 'max_depth = 2' setzen? – maxymoo
Es erstellt keinen Baum, auch wenn ich Max_depth = 2 im DecisionTreeClassifier gesetzt habe! – Ophilia
können Sie versuchen, 'out_file = 'tree.dot'' zu ändern und dann die PDF-Datei über die Befehlszeile mit' 'dot -Tpdf tree.dot -o tree.pdf'' zu generieren? – maxymoo