선릉역 1번 출구

5-1 본문

Computer/AI

5-1

choideu 2021. 7. 18. 19:42

결정 트리(decision tree) -> 이유를 설명하기 쉬운 모델

 

결정 트리를 이용해 모델의 score를 내보았다. 결과는 

훈련 세트의 점수가 테스트 세트의 점수보다 많이 높아서 과대적합된 모델이라고 볼 수 있다. 일단 과대적합을 해결하기 전에 이 결정 트리의 모양이 어떤식으로 되어있는지 확인해보자.

import matplotlib.pyplot as plt
from sklearn.tree import plot_tree
plt.figure(figsize=(15,10)) //figsize를 사용해서 그림의 size를 조절할 수 있다.
plot_tree(dt)
plt.show()

 

간단하게 tree의 명칭을 알아보자면 맨 위를 root node 맨 아래 노드를 leaf node라고 한다.

 

더 자세한 내용은 아래 포스팅을 참고하자.

http://ktword.co.kr/abbr_view.php?m_temp1=4726&id=1303 

 

트리 용어 [정보통신기술용어해설]

 

ktword.co.kr

 

plot_tree(dt, max_depth=1, filled=True, feature_names=['alcohol''sugar''pH'])에 매개변수 속성을 주어서 노드가 어떤 특성으로 나뉘는지 확인한다.

 

 

여기서 알아볼 것은 gini와 value가 뜻하는 것이다. gini는 지니 불순도를 의미한다. DecisionClassifier 클래스의 criterion 매개변수의 기본값이 'gini'이다.

criterion의 매개변수의 용도는 노드에서 데이터를 분할하는 기준을 정하는 것이다. 

지니 불순도는 1 - (음성 클래스 비율^2 + 양성 클래스 비율^2)로 구할 수 있고 결정 트리 모델은 부모 노드와 자식 노드의 불순도 차이(정보 이득)가 가능한 크도록 트리를 성장 시킨다.

->불순도 기준을 사용해 정보 이득이 최대가 되도록 노드 분할(노드를 순수하게 나눌 수록, 즉 노드에 하나의 클래스만 있도록 나눌수록 정보 이득이 커짐)

->결정 트리가 최적의 질문을 찾기 위한 기준이 되는 값

 

*결정 트리는 표준화 전처리 과정이 필요 없다. 불순도를 기준으로 샘플을 나눌 때 특성값의 스케일이 영향을 전혀 미치지 않기 때문이다.

 

*특성 중요도: 결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정보를 나타내는 값이다.

*결정 트리의 경우 제한없이 성장하면 훈련 세트에 과대적합된 모델이 되기 쉽다. 가지치기를 사용해 모델의 성장을 제한하는 방법을 사용해 과대적합의 문제를 해결할 수 있다.

 

'Computer > AI' 카테고리의 다른 글

5-3  (0) 2021.07.19
5-2  (0) 2021.07.19
4-2  (0) 2021.07.13
4-1  (0) 2021.07.13
자연어 처리-1  (0) 2021.07.10
Comments