1
"scikit learn/decision tree/export graphviz"에서 의사 결정 트리의 클래스 이름이 잘못되었습니다. 다음 프로그램이 도시되어 다음과 같이scikit 결정 트리 내보내기 graphviz - 의사 결정 트리에서 잘못된 클래스 이름
import matplotlib.pyplot as plt
import matplotlib.image as img
import pydot
from sklearn import tree
digital_table = [[0, 0], [0, 1], [1, 0], [1, 1]]
digital_label = ['zero', 'one', 'two', 'three']
digital_name = ['idx-1', 'idx-2']
digital_tree = tree.DecisionTreeClassifier()
digital_tree.fit(digital_table, digital_label)
with open("digital.dot", 'w') as f:
f = tree.export_graphviz(digital_tree,
feature_names=digital_name,
class_names=digital_label,
filled=True, rounded=True,
out_file=f)
(graph,) = pydot.graph_from_dot_file("digital.dot")
graph.write_png("digital.png")
plt.imshow(img.imread('digital.png'))
plt.show()
출력은 :
문제는 잎에 도시 된 클래스 이름에 관한 것이다. 예를 들어, idx-1이 1이고 idx-2가 1이면 녹색 상자에 '3'이라는 레이블이 지정되어야합니다. 그러나 이미지에는 레이블이 '1'로 표시됩니다. 아무도 당신의 의견을 줄 수 있습니까?
의견을 보내 주셔서 감사합니다. 그러나 나는 테이블 요소의 순서와 레이블 요소의 순서가 일치해야한다고 생각합니다. 권리? – Frank