반응형
키워드
결정 트리
예, 아니오에 대한 질문을 이어가면서 정답을 찾아 학습하는 알고리즘이다. 비교적 예측 과정을 이해하기 쉽고 성능도 뛰어나다.
불순도
결정 트리가 최적의 질문을 찾기 위한 기준이다. 사이킷런은 지니 불순도와 엔트로피 불순도를 제공한다.
정보 이득
부모 노드와 자식 노드의 불순도 차이다. 결정 트리 알고리즘은 정보 이득이 최대화 되도록 학습한다.
가지치기
결정 트리는 제한 없이 성장하면 훈련 세트에 과대적합되기 쉽다. 가지치기는 결정 트리의 성장을 제한하는 방법이다. 사이킷런의 결정 트리 알고리즘은 여러가지 가지치기 매개변수를 제공한다.
특성 중요도
결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정도를 나타내는 값이다. 특성 중요도를 계산할 수 있는 것이 결정 트리의 또다른 큰 장점이다.
05-1 단원 내용
*시작하기 전에
로지스틱 회귀로 와인 분류하기
- 판다스 데이터 프레임의 유용한 메소드 2개
- info() : 데이터 프레임의 각 열의 데이터 타입과, 누락된 데이터가 있는지 확인할 때 유용하다. 누락된 값 유무는 Non-Null Count에서 확인할 수 있다.
- describe() : 열에 대한 간략한 통계를 출력한다. 최소, 최대, 평균값을 볼 수 있다.
설명하기 쉬운 모델과 어려운 모델
*결정 트리
불순도
- 지니 불순도
- gini는 지니 불순도 Gini impurity를 의미한다.
- DecisionTreeClassifier클래스의 criterion 매개변수의 기본값은 'gini'이다. criterion 매개변수의 용도는 노드에서 데이터를 분할할 기준을 정하는 것이다.
- 정보 이득(information gain)
- 부모 노드와 자식 노드 사이의 불순도 차이를 정보 이득이라고 부른다. 알고리즘은 정보 이득이 최대가 되도록 데이터를 나눈다.
- 엔트로피 불순도
- DecisionTreeClassifier클래스에서 criterion='entropy'를 지정하여 엔트로피 불순도를 사용할 수 있다. 엔트로피 불순도도 노드의 클래스의 비율을 사용하지만, 지니 불순도처럼 제곱이 아니라 밑이 2인 로그를 사용하여 곱한다.
가지치기
- 결정 트리에서 가지치기를 하는 가장 간단한 방법은 자라날 수 있는 트리의 최대 깊이를 지정하는 것이다. DecisionTreeClassifier클래스의 max_depth 매개 변수에 깊이를 지정할 수 있다.
- 결정 트리는 어떤 특성이 가장 유용한지 나타내는 특성 중요도를 계산해 준다. 특성 중요도는 결정 트리 모델의 feature_importances_ 속성에 저장되어 있다.
*이해하기 쉬운 결정 트리 모델
- 보통 이진 분류 로지스틱 회귀 모델보다 더 좋음
- 결정 트리는 깊이가 너무 깊지 않다면 비교적 설명하기 쉬움. 비교적 비전문가에게도 설명하기 쉬운 모델을 만듦.
- 결정 트리는 많은 앙상블 학습 알고리즘의 기반이 됨.
https://www.youtube.com/watch?v=tOzxDGp8rsg&list=PLJN246lAkhQjoU0C4v8FgtbjOIXxSs_4Q&index=11
반응형
'AI > 혼공머신' 카테고리의 다른 글
[혼공머신] 05-3 | 트리의 앙상블 (2) | 2024.11.04 |
---|---|
[혼공머신] 05-2 | 교차 검증과 그리드 서치 (1) | 2024.11.01 |
[혼공머신] 04-2 | 확률적 경사 하강법 (0) | 2024.10.24 |
[혼공머신] 04-1 | 로지스틱 회귀 (0) | 2024.10.17 |
[혼공머신] 03-3 | 특성 공학과 규제 (0) | 2024.10.14 |