# 시각화 모듈 불러오기
from sklearn.tree import export_graphviz
from IPython.display import Image
# 이미지 파일 만들기
export_graphviz(model, # 모델 이름
out_file='tree.dot', # 파일 이름
feature_names=x.columns, # Feature 이름
class_names=['die', 'survived'], # Target Class 이름 # 회귀는 필요XX
rounded=True, # 둥근 테두리
precision=2, # 불순도 소숫점 자리수
filled=True) # 박스 내부 채우기
# 파일 변환
!dot tree.dot -Tpng -otree.png -Gdpi=300
# 이미지 파일 표시
Image(filename='tree.png')
지니 불순도
지니 불순도 = 1 -(양성클래스 비율^2 + 음성 클래스 비율^2)
Decision Tree를 썼다면 변수 중요도와 트리를 확인해보고, 변수 중요도를 얻고자 Decision Tree를 쓰진 말자
모델
key point
L.R
독립변수들이 많을 때 모델이 복잡해짐 * 중요하지 않은 변수 제거, 필요한 변수 추가
KNN
k가 데이터 갯수면 평균이 된다 → 단순 (k가 클수록 단순하게 됨)
DST
max_depth가 클수록 복잡(과대적합 시 성능 저하) * 정보 이득 : 부모 노드 불순도 - 자식 노드 불순도 * 정보 이득이 크다 = 불순도가 낮다