반응형

 

 

  1. 결정 트리(Decision Tree)

: 데이터에 있는 규칙을 학습하여 자동으로 찾아내 트리 기반의 분류 규칙을 만드는 것

(스무고개와 유사)

  1. 결정 트리 구조
  • 규칙 노드 : 규칙 조건
  • 리프 노드 : 결정된 클래스 값

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5c7baf52-8c49-4ca2-a939-79bf15369626/.jfif

  1. 결정 트리 분류 기준

: 정보 균일도 ( 가장 비슷한 데이터끼리 분류하는 것이 목표 )

  • 지니 계수 : 낮을수록 균일
  • 정보 이득 : 높을수록 균일

지니 계수가 낮거나 정보 이득이 높은 조건을 찾아 반복적으로 분할한다.

데이터가 모두 특정 분류에 속하게 되면 분할을 멈추고 분류를 결정한다.

  1. 결정 트리 장단점
  • 장점

: '균일도'라는 명확한 기준을 가지고 분류

: 쉽다, 직관적이다.

: 피처의 스케일링이나 정규화 등의 사전 가공 영향도가 크지 않음

  • 단점

: 많은 규칙이 들어가면 과적합으로 이어질 수 있다. → 트리의 크기를 사전에 제한하기

  1. 결정 트리 파라미터
  • min_samples_split : 노드를 분할하기 위한 최소한의 샘플 데이터 수(과적합 방지)
  • min_samples_leaf : 말단 노드가 되기 위한 최소한의 샘플 데이터 수(과적합 방지)
  • max_features : 최대 피처 개수, 디폴트는 모든 피처 사용
  • max_depth : 트리의 최대 깊이
  • max_leaf_nodes : 말단 노드의 최대 개수(과적합 방지)
  1. 결정 트리 모델 시각화
  • Graphviz
  • visualize_boundary()

 

 

 

 

  1. 앙상블 학습

: 여러 개의 분류기를 생성하여 그 예측을 결합함으로써 보다 정확한 최종 예측 도출하는 기법

 

  1. 보팅

: 서로 다른 알고리즘을 가진 분류기를 결합

  1. 배깅

: 같은 유형의 알고리즘 기반이지만, 데이터 샘플링을 서로 다르게

  1. 부트스트래핑

: 개별 classifier 에게 데이터를 샘플링해서 추출하는 방식

: 중복을 허용함

  1. 부스팅

: 여러 개의 분류기가 순차적으로 학습을 수행하되, 앞에서 학습한 분류기가 예측이 틀린 데이터에 대해 올바르게 예측할 수 있도록 다음 분류기에게 가중치 부여

ex) 그래디언트 부스트 , XGBoost, LightGBM

  1. 보팅 유형 - 하드 보팅 vs 소프트 보팅

하드 : 다수결의 원칙과 비슷하게 예측한 결괏값들중 다수의 분류기가 결정한 예측값을 최종 보팅 결괏값으로 선정

소프트 : 분류기들의 레이블 값의 결정 확률을 모두 더하고 이를 평균해서 확률이 가장 높은 레이블 값을 최종 보팅 결괏값으로 선정

 

 

 

  1. 랜덤 포레스트(RandomForest)

: 배깅의 대표적인 알고리즘

: 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링해 개별적으로 학습을 수행한 뒤, 최종적으로 모든 분류기가 보팅을 통해 예측 결정을 함

  1. 랜덤 포레스트의 파라미터
  • n_estimators : 결정 트리의 개수
  • max_features : 결정 트리와 동일, 단 디폴트가 전체 피처가 아님
  • max_depth : 결정 트리와 동일
  • min_samples_leaf : 결정 트리와 동일
  1. GridSearchCV
반응형

+ Recent posts