Вывод дерева решений Graphviz не отображает критерий/джини

Я хотел бы отобразить изображение дерева решений Graphviz на основе вывода модели дерева решений, поскольку оно более презентабельно, однако значение критерия «джини» или «энтропия» из исходного вывода модели не отображается на выходе дерева графвиза.

Я следовал этому руководству: https://www.datacamp.com/community/tutorials/decision-tree-classification-python

Код, используемый для ввода дерева решений:

clf = tree.DecisionTreeClassifier(max_leaf_nodes = 3, min_samples_leaf = 5, max_depth =4)
clf = clf.fit(X_train, y_train)
tree.plot_tree(clf.fit(X_train, y_train))

Вывод модели дерева решений: https://i.stack.imgur.com/NprzI.png

Код, используемый для ввода графвиза:

dot_data = StringIO()
tree.export_graphviz(clf, out_file = dot_data, feature_names = inputs.columns,class_names =['0','1'], filled = True, rounded = True, impurity = False)

graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())

Вывод дерева решений graphviz: https://i.stack.imgur.com/5Q9D6.png

Я добавил критерий = "gini" в параметры дерева clf (хотя это не требуется, так как по умолчанию установлено значение gini), но не вносит изменений в вывод graphviz.

Я также добавил критерий = «энтропия» в параметры дерева clf, который меняет вывод с Джини на энтропию и отображает вывод модели дерева, но не вывод графвиза.

Я не видел ничего в документации или где-либо еще, чтобы предположить, почему это так, и было бы полезно показать используемый критерий.

Я где-то пропустил параметр?


person Sam    schedule 13.12.2019    source источник


Ответы (1)


Из документации sklearn.tree.export_graphviz:

Параметры:

примесь: bool, необязательный (по умолчанию = True)

И вы явно устанавливаете его на False:

tree.export_graphviz(...      impurity = False)

Если вы установите его на False, он не появится на графике.

person Nicolas Gervais    schedule 13.12.2019