느낀 점
을 표현하기에 글보단 사진이 나을 것 같다.
Section2_Sprint2_Note1&Note2
- 트리 기반 모델(tree-based model)
- 비선형, 비단조, 특성상호작용 특징을 가진 데이터 분석 용이
- 앙상블 모델을 결정트리를 기본 모델로 한다.
- 결정트리 : 비용함수를 최소화하는 방향으로 데이터 분할
- 회귀와 분류 모두 적용 가능
- 분류 문제의 비용함수 - 불순도
- 회귀 문제의 비용함수 - MSE
- 분류 문제의 예측값 - 마지막 노드에 있는 타겟값들의 최빈값
- 회귀 문제의 예측값 - 마지막 노드에 있는 타겟값들의 예측값
- 직관적이며 시각화가 가능한 데이터 분할 과정 - 해석하기 용이함
- 제약 사항이 거의 없는 유연한 모델 - 과대적합 위험
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import DecisionTreeRegressor
import graphviz # 결정트리 시각화
from sklearn.tree import export_grahviz # 결정트리 시각화
!pip install category_encoders
from category_encoders import OrdinalEncoder
from category_encoders import OneHotEncoder
from sklearn.impute import SimpleImputer
- 앙상블 학습
- 앙상블 학습은 여러 기본 모델들을 학습하고 모델들의 예측을 합하여 최종 예측을 내는 방식이다.
- 단일 모델 사용 기법의 과대적합 및 과소적합의 문제 해결하여 일반화 성능을 높이기 위해 많이 사용된다.
- 약한 모델들을 학습하고 지혜롭게 조합하는 것이 앙상블 학습의 기본 컨셉이다.
- 대표적인 기법으로 Bagging과 Boosting이 있다.
요약 : 어렵당 어려워 어렵구만 😵💫
- Bagging
- Bootstrap Aggregating
- Random Forest
- 무작위 복원추출
- 병렬적 학습
- 독립적 학습
- 분산 줄임
- 과대적합 해소
- Random Forest
- 기본 모델들을 합치는 과정에서 에러가 상쇄됨
- 두 가지 랜덤성 보유
- 각 기본모델에 사용되는 데이터 랜덤 선택됨
- 노드 분할시 특성을 랜덤샘플링하여 최적의 특성을 찾아내어 분할함
- oob sample (out of bag sample)
- 부트스트랩 과정에서 한번도 추출되지 않은 샘플
- 부트스트랩 세트 = 표본의 60% / oob 샘플 = 표본의 40%
- oob 샘플로 모델 검증 가능
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import RandomForestRegressor
- Boosting
- AdaBoost
- Gradient Boosting
- 순차적 학습
- 이전 모델의 예측 못한 부분 집중 학습
- 최종 모델 복잡도 상승
- 편향 줄임
- 과소적합 해소
- AdaBoost
- 초기 개발 부스팅 알고리즘
- 분류 문제 적합
- 이상치에 민감
- Gradient Boosting보다 성능이 떨어짐
- 잘못 분류된 관측치에 가중치 부여
- 이전 모델의 성능 보완하는 학습
- Gradient Boosting
- 회귀와 분류 모두 적합
- 이전 모델의 잔차 학습
- 잔차가 큰 관측치를 집중 학습
- scaling 또는 normalization 필요없음
- Ordinal Encoding 선호
!pip3 install xgboost==1.7.2
from xgboost import XGBClassifier
Bagging | Boosting | |
목적 | 분산 감소 및 과대적합 해소 | 편향 감소 및 과소적합 해소 |
기법 예시 | Random Forest | Gradient Boosting |
학습 과정 | 각 기본 모델 독립적이고 병렬적 학습 | 이전 기본 모델 오류 고려하여 순차적 학습 |
예측 과정 | 각 개별 모델의 예측 결과 종합하여 최종 예측함 | 순차적으로 최종 예측 값이 정확해짐 |
키워드 | 복원추출, 상호영향X, 랜덤성 | 이전 모델 예측 못한 부분에 집중 학습 |
2023.04.14(금)
'AI가 뭐길래 왜 어려운 거죠?' 카테고리의 다른 글
인공지능과 데이터 (0) | 2023.06.12 |
---|---|
[ML] Preprocessing_ModelTuning(ft.아무_생각_없음) (0) | 2023.04.15 |
[ML] LinearRegression_선형회귀 (ft. 절겁다) (0) | 2023.03.18 |
Statistic_통계 (ft.내_머리) (0) | 2023.02.26 |
EDA 와 Data Wrangling (ft. 첫_시험) (0) | 2023.02.20 |