Computer Science/Data Science
Random Forest 간.단.명.료
_cactus
2021. 3. 8. 00:02
반응형
Ensemble 앙상블
- 여러 개의 머신러닝 model을 연결하여 강력한 model을 만드는 기법
- classifier/regression에 전부 효과적
- random forest와 gradient boosting은 둘다 model을 구성하는 기본 요소로 decision tree를 사용한다
random forest
- 조금씩 다 다른 여러 decision tree의 묶음
- 랜덤 포레스트의 등장 배경 :
- 각각의 tree는 비교적 예측을 잘 할 수 있지만, 데이터의 일부에 overfitting하는 경향을 가짐
- 따라서, 잘 작동하지만 서로 다른 방향으로 overfitting된 tree를 많이 만들고 그 결과를 평균내면 overfitting을 줄일 수 있다
- 이렇게 하면 tree model의 예측 성능은 유지하되 overfitting이 줄어듬 (수학적으로 증명됨)
- --> 이를 위해 decision tree를 많이 만들어야 하고, 또 각각의 decision tree는 예측을 잘해야하며 다른 tree들과는 구별되어야 함
- decision tree들이 서로 달라지도록 하기 위해 tree 생성시 random하게 생성 [방법2가지]
- tree 생성 시 사용하는 데이터를 무작위로 선택
- 분할 테스트에서 특성을 무작위로 선택
주요 parameter
- n_estimators : 생성할 tree 개수
- random forest는 기본적으로 bootstrap sampling(복원추출) 사용
- bootstrap sampling은 random forest의 tree가 조금씩 다른 데이터셋으로 만들어지도록 함
- max_features : 최대 선택할 특성의 수
- 각 node는 특성의 일부를 무작위로 추출하여 사용
- 만약 max_features를 전체 특성의 수로 설정 시 decision tree에 무작위성은 들어가지지 않는다
- 값을 크게 하면 random forest의 tree들은 같은 특성을 고려하게 되므로 tree들이 매우 비슷해짐 + 가장 두드러진 특성을 이용해 데이터에 잘 맞춰짐
- 값을 작게 하면 random forest의 tree들은 많이 달라지고, 각 tree는 데이터에 맞추기 위해 tree의 깊이가 깊어짐
feature importance
- random forest 역시 decision tree와 동일하게 feature importance를 제공
- 일반적으로 random forest의 feature importance가 하나의 tree에서 제공하는 것보다 더 신뢰도가 높다
728x90
반응형