기본미션: 교차 검증을 그림으로 설명하기

선택미션: Ch.05(05-3) 앙상블 모델 손코딩 코랩 화면 인증하기

결정 트리(Decision Tree)

분류(Classification)와 회귀(Regression) 모두 가능한 지도 학습 모델 중 하나.

데이터를 분석하여 이들 사이에 존재하는 패턴을 예측 가능한 규칙들의 조합으로 나타내며, 그 모양이 나무와 같아서 결정 트리 또는 의사결정트리라고 불린다.

Untitled

from sklearn.tree import DecisionTreeClassifier, plot_tree
import matplotlib.pyplot as plt

dt = DecisionTreeClassifier(random_state=42)
dt.fit(X_train_scaled, y_train)

# 결정트리 화면에 표시
plt.figure(figsize=(10, 7))
plot_tree(dt, max_depth=1, filled=True, feature_names=["alcohol", "sugar", "pH"])
plt.show()

Untitled

각 노드에서 자식 노드로 분기하기 위한 feature에 대한 조건이 표시되고 gini 계수에 의해 불순도에 따른 노드의 색이 결정된다.

Root Node

$gini = 1-((\dfrac{negative}{sample})^2 + (\dfrac{positive}{sample})^2)$
지니계수 = $1 - (음성 클래스 비율^2 + 양성클래스비율^2)$

Gini Impurity(지니 불순도)와 Information gain(정보 이득)