반응형
[DecisionTreeClassifier]
각 영역의 복잡도가 낮은 기준점으로 잘라(분기) 트리 형태의 구조로 분류하는 모델
Greedy한 알고리즘 :
분기를 한번 하면 최적의 트리 형태가 발견되더라도 되돌려서 재분기하지 않음
최적의 트리 생성을 보장하지 않기에 속도가 빠름
[파라미터]
- max_depth : 생성할 DecisionTree의 깊이 (int)
- max_features : DT가 사용하는 feature의 수 (float)
- min_samples_split : 구간의 데이터 수가 N개 미만이면 더이상 분기하지 않음 (int)
과적합 방지
- max_leaf_nodes : 리프 노드에서 최대로 가지고 있을 수 있는 데이터의 수 (int)
- random_state : 난수 (int)
복잡도(엔트로피, Entropy)
위 식은 복잡도를 수학적인 식으로 나타낸 것이다.
값이 높을수록 그 구간의 복잡도는 높고, 낮을 수록 해당 구간은 단순하다.
정보량
어떤 일이 매우 드물게 일어날 수록 정보량이 크다.
ex. 내일 맑을 예정 - 낮은 정보량
내일 여름이지만 눈이 내릴 예정 - 높은 정보량
어떤 사건들이 일어날 확률 비슷하다면 엔트로피는 커진다.
두 사건이 모두 0.5의 확률로 일어난다면 엔트로피의 값은 1로 최고치를 찍는다.
따라서
분기를 할 땐 엔트로피가 낮은 값을 나타내는 좋은 기준점을 이용한다.
좋은 기준점
각 변수를 이용해 가능한 모든 기준점으로 구간을 분리
분리된 구간의 복잡도(엔트로피)가 가장 낮은 기준점 선택
https://steadiness-193.tistory.com/257
위 포스팅에서 만든 데이터셋을 이용한다.
매개변수는 아무 것도 건드리지 않고 그냥 예측해본 결과
약 76%의 정확도를 보인다.
매개변수(파라미터) 조정
max_depth, max_features, min_samples_split을 조금씩 조정하니 정확도가 80%로 올라갔다.
내용 및 이미지 참조 : https://blueskyvision.tistory.com/598
반응형
'Machine Learning > 분류(Classification)' 카테고리의 다른 글
Classification - XGBClassifier (0) | 2020.09.09 |
---|---|
Classification - RandomForestClassifier (0) | 2020.09.08 |
Classification - SVM 서포트 벡터 머신 (0) | 2020.09.08 |
Classification - 정확도 평가 : accuracy_score (0) | 2020.09.08 |
Classification - DecisionTreeClassifier 맛보기 (0) | 2020.09.04 |