대표적인 분류 알고리즘
-앙상블은 결정 트리를 기반으로 한다.
결정트리: 약한 학습기.
앙상블 기법: 매우 많은 여러 개의 약한 학습기를 결합해 성능을 향상 시킴.
<결정트리>
스무고개와 비슷하다. 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 하면 됨.
다 귀찮으면 그냥 코랩 쓰기!
'공부기록 > 머신러닝' 카테고리의 다른 글
[머신러닝] 6주차. XGBoost (0) | 2022.12.19 |
---|---|
[머신러닝] 5주차. 앙상블 (0) | 2022.12.19 |
[머신러닝] 3주차. 정확도, 오차행렬, 정밀도, 재현율 (0) | 2022.11.03 |
[머신러닝] 2주차. 데이터 인코딩 (0) | 2022.10.06 |
[머신러닝] 1주차. 교차검증 - K-Fold와 Stratified K-Fold의 이해 (0) | 2022.09.29 |