일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코크리
- cs231n
- AIFFEL
- GIT
- WSSS
- vscode
- HookNet
- logistic regression
- docker
- cocre
- ssh
- 기초확률론
- aiffel exploration
- IVI
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- Pull Request
- Decision Boundary
- 히비스서커스
- numpy
- airflow
- 도커
- Jupyter notebook
- 티스토리챌린지
- docker attach
- 사회조사분석사2급
- docker exec
- 프로그래머스
- CellPin
- 오블완
- 백신후원
- Today
- Total
히비스서커스의 블로그
[Concept] 회귀를 위한 다양한 모델 (feat. Regressor) 본문
회귀를 위한 4가지 모델(GradientBoostingRegressor, XBGRegressor, LGBMRegressor, RandomForestRegressor)들이 사용하였는데 그 중 GradientBoostingRegressor와 RandomForestRegressor의 개념적인 내용과 API를 찾아보며 정리해보기로 하였다.
Gradient Boosting Regressor
앙상블 이전까지의 오차를 보정하도록 예측기를 순차적으로 추가하지만 이전 예측기가 만든 잔여오차에 새로운 예측기를 학습시킨다.
sklearn 라이브러리의 ensemble 클래스에 저장되어 있어 다음과 같이 불러와야 한다.
from sklearn.ensemble import GradientBoostingRegressor
다양한 매개변수가 존재하는데 그 중 일부를 적어보았다.
- loss: 최적화할 손실함수를 선택하는 것이다.'ls'는 최소 제곱(Least Square) 회귀를 나타낸다.'lad'(최소 절대 편차)는 입력 변수의 순서 정보만을 기반으로하는 매우 강력한 손실 함수이다.'huber'는이 둘의 조합이다.'quantile'은 분위수 회귀를 허용한다. (default=’ls’)
- learning_rate: 각 트리의 기여도를 나타낸다. (default=0.1)
- n_estimators: 부스팅 단계의 수를 나타낸다. (default=100)
- subsample: 샘플비율을 나타낸다. 1보다 작으면 확률적 그라데이션 부스팅이 발생한다. (default=1.0)
- criterion: 분할하는데의 기준을 선택하는 것이다. 'friedman_mse', 'mse', 'mae'가 존재하며 일반적으로 defalut값인 friedman_mse가 기능이 좋다.
scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html
RandomForestRegressor
랜덤포레스트는 dataset의 다양한 하위 sample에 대한 여러 개의 Decision Tree에서의 평균을 사용하여 predict Accuracy를 높이고 overffing을 제어하는 meta estimator 이다.
RandomForestClassifier는 분류문제에 RandomForestRegressor는 회귀문제에 적용할 수 있다.
sklearn 라이브러리의 ensemble 클래스에 저장되어 있어 다음과 같이 불러와야 한다.
from sklearn.ensemble import RandomForestRegressor
다양한 매개변수가 존재하는데 그 중 일부를 적어보았다.
- n_estimators: 랜덤포레스트의 트리의 수를 말한다. (default=100)
- criterion: 트리를 구분하는 기준으로 mse와 mae 중 하나를 골라야 한다. (default='mse')
- max_depth: 트리의 최대 깊이를 나타내는 것으로 None이면 모든 잎이 순수해질 때까지나 min_samples_split 샘플 미만이 포함될때까지 노드가 확장된다. (defalut=None)
- min_samples_split: 내부 노드를 분할하는 데 필요한 최소 샘플 수이다. (default=2)
- min_samples_leaf: 리프 노드에 있어야하는 최소 샘플 수이다. 왼쪽과 오른쪽 분기 각각에 최소한 훈련샘플을 남겨두는 경우에 고려되며, 회귀에서 모델을 평활화하는데 효과가 있을 수 있다.
scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html
XBGRegressor,LGBMRegressor에 관한 설명은 이곳에 잘 설명되어 있다.
machinelearningkorea.com/2019/09/29/lightgbm-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/
-히비스서커스-
'Theory > Machine Learning' 카테고리의 다른 글
[기계학습 2강] Rule Based Machine Learning (0) | 2021.03.31 |
---|---|
[기계학습 1강] MAP(Maximum A Posterior) (0) | 2021.03.29 |
[기계학습 1강] MLE(Maximum Likelihood Estimation) (0) | 2021.03.24 |
[Concept] 시계열 예측 지표 (MSE, MAE, RMSE, MAPE) (0) | 2021.03.06 |
[Concept] 얼굴인식의 핵심, 그래디언트(gradient) (0) | 2021.01.13 |