공부기록/머신러닝

[머신러닝] 4주차. 결정트리

박윤서 2022. 11. 11. 15:51

대표적인 분류 알고리즘

-앙상블은 결정 트리를 기반으로 한다.

결정트리: 약한 학습기.

앙상블 기법: 매우 많은 여러 개의 약한 학습기를 결합해 성능을 향상 시킴.

<결정트리>

스무고개와 비슷하다. Yes, no 로 분할이 되는데 더 이상 분할하지 않아도 되는 것은 리프노드로 둔다. 스무 고개를 할 때도 20번 다 물어보는 것보단 적게 물어보고 맞추는 것이 좋으니까 마찬가지로 데이터의 어떤 기준을 바탕으로 규칙을 만들어야 가장 효율적인 분류가 될 것인가가 아록리즘의 성능을 크게 좌우한다.

정보 균일도 측정 방법

-정보 이득: 1 – 엔트로피 지수.

엔트로피 기반. 서로 다른 값이 섞여있으면 엔트로피가 높은 것.

결정트리는 정보 이득이 높은 속성을 기준으로 분할한다.(엔트로피가 낮은)

-지니 계수: 0이 가장 평등. 1로 갈수록 불평등.

지니 계수가 낮을수록 데이터 균일도가 높은 것으로 해석되어서 지니 계수가 낮은 속성을 기준으로 분할한다.

결정 트리의 규칙 노드 생성 프로세스

결정트리의 장점: 쉽고 직관적. 사전 가공 영향도가 크지 않다.

결정트리의 단점: 과적합으로 알고리즘 성능이 떨어진다. 트리의 크기를 사전에 제한하는 튜닝이 필요.

Graphviz를 이용하면 결정 트리 모델을 시각화할 수 있다.

 max_depth: 트리의 최대 깊이.(=몇줄로 제어할건지)

다운로드 방법

구글에 graphviz download 검색 – window 버전 다운 – Add Graphviz to the system PATH for all users 선택! – 고급 시스템 설정에서 환경변수에 path 들어가서 graphviz 있는지 확인후 anaconda prompt 관리자 권한으로 실행해서 pip install graphviz 하면 됨.

다 귀찮으면 그냥 코랩 쓰기!