■ 5장 : 트리 알고리즘
☞ 성능이 좋고 이해하기 쉬운 트리 알고리즘
☞ 알고리즘 성능 최대화를 위한 하이퍼파라미터
☞ 여러 트리를 합쳐 일반화 성능을 높일수 있는 앙상블 모델
■ 5-1 : 결정트리
1차시도 : sklearn - LogisticRegression (로지스틱 회귀 모델)
2차시도 : sklearn - DecisionTreeClassifier (결정트리)
- 결정트리가 무조건 좋은 것일까? 언제 사용해야 하나?
- 로지스틱 회귀모델의 성능이 안좋을때 검토 가능
- 이유를 설명하기 쉽다 (노드별로 판단기준을 확인가능)
- 표준화 전처리 과정이 필요 없다.
- 어떤 특성이 가장 유용한지 나타내는 특성 중요도를 계산해줌
■ 5-2 : 교차검증과 그리드 서치
- 검증세트
- 훈련세트(60%), 검증세트(20%), 테스트 세트(20%)으로 구성
1차적으로 훈련세트와 테스트세트 나눈후에 → 다시 훈련세트를 훈련세트와 검증세트로 나누는 방식- 테스트 세트가 검증되어서 성능검증의 오류차단 목적
- 훈련세트 → (매개변수 변경) → 검증세트 검증
- (훈련세트 + 검증세트) → (매개변수) → 훈련 → 테스트 세트로 검증
- 모델이 과대적합인지, 과소적합인지를 파악해서 계속 모델 튜닝
- 훈련세트(60%), 검증세트(20%), 테스트 세트(20%)으로 구성
- 교차검증
- 훈련세트와 검증세트의 밸런스체크를 해서, 안정적인 훈련세트 여부, 검증세트도 적당한지 검증한다.
- 검증세트를 떠어내어서 과정을 반복
- k겹 교차검증 (ex : 3-폴드 교차 검증)
- 하이퍼파라미터
- 사용자 지정 파리미터 (모델이 학습을 할수 없어서 사용자가 직접 지정해주어야 하는 값)
- 사람이 지정하지 않고, 자동으로 튜닝하는것 : AutoML
- 사용자 지정 파리미터 (모델이 학습을 할수 없어서 사용자가 직접 지정해주어야 하는 값)
■ 5-3 : 트리의 앙상블
- 정형데이터 / 비정형 데이타
- 앙상블 학습 : 정형데이터 처리에서 띄어난 성과를 내는 기법
- 랜덤포레스트(Random Forest)
- 앙상블 기법의 대표 / 안정적인 성능 제공
- (결정트리) + (Random)으로 구성하여서 → 숲:포레스트(Forest) 를 구성함
- 샘플링
- 부트스트랩 샘플
- 엑스트라 트리(Extra Trees)
- 랜던포레스트와 비슷함
- 차이점
- 부트스트랩샘플을 사용하지 않음
- 결정트리 구성시, 전체 훈련세트를 사용함
- 노드 구성시, 무작위 구성
- 그레이디언트 부스팅 (gradient boosting)
- 깊이가 얕은 결정트리를 사용하여, 이전 트리의 오차를 보완하는 방식
- 경사하강법을 사용하여, 트리를 앙상블에 추가
- 분류 (로지스틱함수) + 회귀 (평균제곱오차함수) 사용
- 히스토그램 기반 그레이디언트 부스팅(histogram-based~)
- 인기가 많은 알고리즘
- 특성을 256구간으로 나누어서 처리 / 최적 분할을 빠르게 찾아감
- XGBoost (사이키런 아님!, 대표적인 관련 라이브러리)
- LightGBM (ms에서 만듬)
■ 기본 미션
- 교차검증
- 훈련세트와 검증세트의 밸런스체크를 해서, 안정적인 훈련세트 여부, 검증세트도 적당한지 검증한다.
- 검증세트를 떠어내어서 과정을 반복
- k겹 교차검증 (ex : 3-폴드 교차 검증)
■ 선택 미션
'study' 카테고리의 다른 글
혼공 머신러닝/딥러닝 6주차 (0) | 2022.02.26 |
---|---|
혼공 머신러닝/딥러닝 5주차 (0) | 2022.02.18 |
혼공 머신러닝/딥러닝 3주차 (0) | 2022.01.26 |
혼공 머신러닝/딥러닝 2주차 (0) | 2022.01.17 |
혼공 머신러닝/딥러닝 1주차 (0) | 2022.01.15 |