인프런 커뮤니티 질문&답변
피처 중요도 시각화
작성
·
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를 지정해 준 것인가요?
답변 미리 감사드립니다.
퀴즈
결정 트리(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그림을 그릴 수 있습니다.
감사합니다.





