강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

예찬님의 프로필 이미지
예찬

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

시각화를 통한 결정 트리 모델의 구조 이해

export_graphviz

해결된 질문

작성

·

185

0

export_graphviz() API에 파라미터로 class_names와 ffeature_names를 직접 입력 해주셨는데 입력을 따로 안해도 똑같이 실행이 되더라구요 파라미터를 직접 넣어주신 이유가 있으신가요?

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

인자를 어떻게 따로 안했다는 건지요? 

적으신 export_graphviz() 호출 코드를 올려 주십시요. 

예찬님의 프로필 이미지
예찬
질문자

export_graphviz(dt_clf, out_file="tree.dot") 이렇게요 !

권 철민님의 프로필 이미지
권 철민
지식공유자

잘 확인해 보시면 그림이 나오긴 하는데 feature_names와 class_names가 입력되지 않아서 해당 속성값이 시각화 되지 않음을 알 수 있습니다. 

예찬님의 프로필 이미지
예찬
질문자

결정 트리 시각화에서 속성값이 정확히 어떤걸 나타내나요? 그리고 사이킷런 내장 데이터셋이 아닌 다른 데이터셋에서는 class_names와 feature_names를 어떤 식으로 불러와야하나요?

예찬님의 프로필 이미지
예찬
질문자

시각화에서 class = 이라고 있는 부분이 어떤걸 나타내는지 잘 모르겠습니다

권 철민님의 프로필 이미지
권 철민
지식공유자

음.. 그림이 다릅니다.  feature_names가 없으니까 피처명(속성명)이 그림에서 표시되지 않습니다. 

다른 데이터 세트면 class_names에 해당 타겟명을 넣어주고, feature_names에 해당 피처명을 넣어주면 됩니다. 

iris_data.feature_names, iris_data.target_names 을 호출해서 어떤 값이 들어가 있는지 확인해 보시면 될 것 같습니다. 

권 철민님의 프로필 이미지
권 철민
지식공유자

class= setosa와 같이 되어 있으니까, class_names에 인자값으로 들어가는 ['setosa', 'versicolor', 'virginica'] 입니다.

예찬님의 프로필 이미지
예찬
질문자

감사합니다

예찬님의 프로필 이미지
예찬

작성한 질문수

질문하기