강의

멘토링

로드맵

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

Moonkyung Yang님의 프로필 이미지
Moonkyung Yang

작성한 질문수

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

XGBoost를 이용한 위스콘신 유방암 예측(파이썬 Native XGBoost 사용)

피처 중요도 시각화

작성

·

200

0

from xgboost import plot_importance

import matplotlib.pyplot as plt

%matplotlib inline

fig,ax = plt.subplots(figsize=(10,12))

plot_importance(xgb_model, ax=ax)

--------------------------------------------

xgboost에서 피처 중요도 시각화 부분에서 질문사항이 있습니다.(교제 p.239)

이 부분에서 마지막 ax=ax로 되는 이유가 무엇인가요? ax라는 리스트로 ax를 지정해 준 것인가요? 

답변 미리 감사드립니다. 

퀴즈

51%나 틀려요. 한번 도전해보세요!

결정 트리(Decision Tree) 모델이 데이터를 분할(Split)할 때 사용하는 주요 기준 지표로 가장 적절한 것은 무엇일까요?

평균 제곱 오차 (Mean Squared Error)

정보 이득 (Information Gain) 또는 지니 계수 (Gini Coefficient)

회귀 계수 (Regression Coefficient)

주성분 (Principal Component)

답변 1

0

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

안녕하십니까,

xgboost의 plot_importance()함수는 인자로 ax 값을 요구하기 때문입니다.

matplotlib의 주요 구성요소는 figure와 ax 입니다. ax는 말그대로 '축' 이지만 실제로 matplotlib이 그림을 그리는 실제 대상입니다. figure는 ax를 포함하는 더 큰 Canvas개념 입니다. 보통은 matplotlib에 ax가 Default로 한개가 있으므로 figure에 그림을 그리면 됩니다.

plot_importance()함수는 인자로 ax를 요구하기 때문에 일반적인 plt로는 이 ax를 지정할 수 없습니다. 하지만 plt.subplots()를 하게 되면 ax을 반환 받을 수 있게 됩니다. 이렇게 반환 받은 ax를 plot_importance() 함수 인자로 넣게 되면 feature importance그림을 그릴 수 있습니다.

감사합니다.

Moonkyung Yang님의 프로필 이미지
Moonkyung Yang

작성한 질문수

질문하기