728x90
결정트리
- 스무고개?
- Yes or No / Question의 대답으로 target data 분할하는 algoritm
- 비용함수를 최소로 하는 특성에서 스무고개 하듯 분기함 ⇒ If ~ Then ~ Else ~
- 선형회귀와 다르게 가정에서 자유로워 데이터 간의 관계를 잘 찾아냄
- 비선형/비단조 데이터의 패턴을 잘 학습해냄
비용함수
회귀 - squared_error
분류 - 불순도
불순도
- 여러 가지의 클래스가 섞여 있는 정도
- 한 노드의 모든 샘플이 같은 클래스에 속해있을 때 값이 0
- 범주들이 섞여 있을 수록 불순도가 올라감
특성 중요도
- 가장 영향력 있는 특성을 특성 중요도에서 확인 (회귀계수X)
- 비교적 먼저, 자주 분기에 사용되었는지에 따라 특성 중요도를 계산
장점
- 시각화 가능
- 전처리 과정이 많이 필요하지 않다
단점
- 과적합이 일어날 확률이 높다
- 작은 데이터 변동으로도 다른 트리가 생성될 수 있다
- 외삽이 어렵다
앙상블 → 합치다
- 여러 모델을 만든 다음 이를 결합하여 계산된 결과를 생성하는 기법
- 앙상블 기법
- 배깅
- 부스팅
- 스태킹
배깅 ( Bootstrapping Aggregation )
부트스트랩(Bootstrap)
- random sampling with replacement → 복원추출
- 샘플에서 복원추출해서 새로운 샘플들을 만드는 방법
- 한 번에 샘플링에 동일한 샘플이 여러번 포함 될 수 있다는 점 → 다양한 데이터로 학습
Aggregation
- 결정 트리 → 모든 특성을 고려하여 특성을 고르고 분할
- 랜덤 포레스트 → 특성 n개 중 무작위로 일부분 k개 (= log2n) 의 특성 선택
- ⇒ 다양한 데이터 + 다양한 특성의 조합 ⇒ 다양한 트리를 만든다
- 새로운 데이터가 들어왔을 때 각각 예측하게 만듦 → 평균/최빈값
Pipeline
make_pipeline
- 편의성과 캡슐화 (encapsulation)
- fit 과 predict를 한번 사용해도 전체 모델의 과정 수행가능
- 코드 간소화로 가독화 Up
- 하이퍼 파라미터 선택
- 한번에 모든 필요한 하이퍼 파라미터를 서치할 수 있다
- 안전성 (데이터 리키지 방지)
- test data의 정보가 train data로 누수되는 것을 방지
- 처리해주는 순서가 중요!
- 각 스텝에 대해 접근이 가능함
- named_steps 속성을 사용해서 각 스텝에 접근 가능
728x90
반응형
'Data Scientist' 카테고리의 다른 글
차원축소의 목적과 방법 (0) | 2023.08.11 |
---|---|
Boosting이란? (0) | 2023.05.08 |