-
Random Forest in pythondata-science-summary/summary 2020. 9. 20. 17:05반응형
<엔지니어는 구현을 못하면 모르는것이다>
Random Forest
Bagging방식의 일종
여러개의 Bootstrap data set 으로 여러개의 Decision Tree 를 만들고 Voting을 통해 최종 예측값을 출력하는 방식
여러개의 Bootstrap data set 뽑고
이중 일부 feature만 랜덤!으로 Decision Tree의 불순도(impurity)를 계산(매 node마다 feature 랜덤 추출)하여 Decision Tree Model 을 만든다.
여러개의 data set 이 있으니 여러개의 Decision Tree 가 생성된다.
다양한 Decision Tree 모델에 Test Data를 입력하여 가장 많이 추출되는 예측값을 최종 결과 값으로 선택한다.
from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import make_classification X, y = make_classification(n_samples=1000, n_features=4, n_informative=2, n_redundant=0, random_state=0, shuffle=False) from sklearn.model_selection import train_test_split train_x, test_x, train_y, test_y = train_test_split(X, y, test_size=0.2, random_state=123) # max_depth: 깊이, clf = RandomForestClassifier(max_depth=2, random_state=0) # 학습 clf.fit(train_x, train_y) # 예측 print(clf.predict(test_x)) # 점수 clf.score(test_x, test_y)
반응형'data-science-summary > summary' 카테고리의 다른 글
GradientBoost in python (0) 2020.09.20 AdaBoost in python (0) 2020.09.20 Ensemble & Bootstrap & Bagging & Boosting 간단정리 (0) 2020.09.20 Decision Tree in python (0) 2020.09.20 binary vs multi class 차이 간단 정리 (0) 2020.09.20