오답노트

[ML] Bagging - Random Forest 본문

Python/ML

[ML] Bagging - Random Forest

권멋져 2022. 8. 25. 21:44

Random Forest

Bagging 알고리즘에서 모델에 Dicision Tree를 사용한 것이 Random Forest다.

기존 Dicision Tree는 모든 Feature들 중에서 Information gain이 제일 높은 Feature를 선택했다.

하지만 Random Forest에서는 무작위로 선택된 n개의 Feature들 중에서 Information gain가 제일 높은 Feature를 선택한다.

 

Information gain가 상대적으로 낮은 Feature도 모델링 된다는 것을 의미한다.

 

이 때 무작위로 선택하는 n의 개수가 작을 수록 더 랜덤한 모델이, 클 수록 대부분 비슷한 모델이 만들어진다.

 

RandomForestClassifier(Regressor)

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators = 5)
model.fit(x_train, y_train)
pred = model.predict(x_val)
print(classification_report(y_val, pred))

 

n_estimators 옵션은 무작위로 선택할 Feature의 개수이다.

'Python > ML' 카테고리의 다른 글

[ML] Boosting - Gradient Boost  (0) 2022.08.26
[ML] 앙상블 - Boosting  (0) 2022.08.26
[ML] 앙상블 - Bagging  (0) 2022.08.25
[ML] 복잡도와 과적합  (0) 2022.08.25
[ML] Learning Curve (데이터 늘리기, Bias 줄이기)  (0) 2022.08.25