Random forest
특성을 무작위로 선택하고, 샘플링도 랜덤(샘플링은 부트스트랩)으로 지정해
여러 종류의 decision tree를 만들어낸 다음 모델들의 결과를 통해 최종 값을 선정
->분류의 경우 다수결에 따라 결정, 회귀 문제의 경우 평균
모델링
#분류
from sklearn.ensemble import RandomForestClassifier
#회귀
from sklearn.ensemble import RandomForestRegressor
코드로 임포트 한 다음
#분류
model = RandomForestClassifier(n_estimators= ,criterion = , max_depth= ,min_samples_split= , min_samples_leaf = , max_features , random_state = )
#회귀
model = RandomForestRegressor(n_estimators= ,criterion = , max_depth= ,min_samples_split= , min_samples_leaf = , max_features , random_state = )
로 모델을 선언한다
각각 파라미터는
- criterion: 분할 품질을 측정하는 기능을 지정 , "mse"(평균 제곱 오차), "friedman_mse"(Friedman의 평균 제곱 오차), "mae"(평균 절대 오차), 기본값= "mse"
- max_depth: 트리의 최대 깊이를 지정 (기본값 = None)
- min_samples_split: 노드를 분할하기 위해 필요한 최소 샘플 수를 지정 (기본값=2)
- min_samples_leaf: 리프 노드에 필요한 최소 샘플 수를 지정 (기본값 =1)
- max_features : 각각의 분기점에서 고려해야 할 feature들의 수 (기본값=None).
- random_state : 난수 발생 시드
- n_estimators : 만들어질 decision tree의 수 , (기본값=100)
이다 만약 기본 설정을 그대로 쓸 생각이라면 그냥 함수명()으로 선언해도 된다
학습 및 예측
model.fit(x_train, y_train)
fit매소드로 학습을 시킬 수 있다
이후
y_pred = model.predict(x_test)
코드를 사용하여 완성된 모델에 x_test를 넣어 예측값을 생성 할 수 있다
평가
from sklearn.metrics import *
코드로 평가 함수들을 임포트 한 다음
https://bigcat5312.tistory.com/77
머신러닝 지도학습 - 회귀와 분류, 분석도구
회귀(Regression) 이미 결과값이 있는 데이터를 사용하여 연관성을 찾아 연속적인 숫자를 예측해 내는 것 ex) 집값 분석도구 평가도구 LinearRegression KNeighborsRegressor DecisionTreeRegressor RandomForestRegressor XG
bigcat5312.tistory.com
게시글을 참고하여 원하는 평가함수(y_test , y_pred)를 사용해 평가 할 수 있다
'파이썬 > 머신러닝-지도학습' 카테고리의 다른 글
파이썬 머신러닝 지도학습 - 모델의 성능 예측 k분할 교차 검증(K-Fold Cross Validation) (0) | 2023.09.17 |
---|---|
파이썬 머신러닝 지도학습 - 앙상블 - XGBoost (분류, 회귀) (0) | 2023.09.17 |
파이썬 머신러닝 지도학습 - 앙상블 (0) | 2023.09.16 |
파이썬 머신러닝 지도학습 - Logistic Regression(로지스틱 회귀) (분류) (0) | 2023.09.16 |
파이썬 머신러닝 지도학습 - Decision Tree(결정 트리) (분류, 회귀) (0) | 2023.09.16 |