본문 바로가기
Archive/TIL

[TIL] Dacon 하면서 자잘하게 배운 내용들 정리

by 다람이도토리 2024. 1. 20.

이번 Dacon에 컴페티션 하나 풀어보면서 자잘하게 배운 내용 정리

* xgboost 시각화

몇년전 따릉이 때도 했지만, 실제 xgboost의 분류기준을 알기 좋아 정리

from xgboost import plot_tree
from matplotlib.pylab import rcParams

# 의사 결정 트리 시각화
plt.rcParams["figure.figsize"] = (75,40)
plot_tree(model)
plt.show()

다만, 문제는 한글 깨짐이 발생하기 때문에, 컬럼명을 모두 영어로 바꾸고 진행해야 한다.
정확하게는 matplotlib에서 한글 깨짐을 방지할수는 있지만 xgboost.plot_tree에 이것이 적용되지 않는다!

* seaborn에서 차트 x축 순서 바꾸기

plt.rcParams["figure.figsize"] = (10,6)
sns.boxplot(x = train_df['대출등급'], y = train_df['대출금액'],
           order = ['A', 'B', 'C', 'D', 'E', 'F', 'G'])
plt.show()

order에 값의 순서를 넣어도 되는데, 이렇게 그냥 리스트로 x값 자체를 때려 넣어도 무방하다.

주의 사항은 x=sorted(train_df['대출등급']) 같은 짓을 해서는 안된다! 값이 꼬인다. order로 바꿔야 축 자체가 바뀐다.

대부분 그래프 관련 이슈였다. EDA를 하다가 무언가 문서화 시키기 위해 신경쓸게 참 많아진다.