1. import RandomForestRegressor
from sklearn.ensemble import RandomForestRegressor
2. 모델 생성
model = RandomForestRegressor()
3. 모델 학습 : fit
model.fit(x_train, y_train)
4. 모델 검증
print(model.score(x_train, y_train))
print(model.score(x_test, y_test))
5. 모델 예측
y_predict = model.predict(x_test)
print(y_predict[0])
6. 피쳐 중요도 확인
model.feature_importances_
->feature_importances : 결정트리에서 노드를 분기할 때, 해당 피쳐가 클래스를 나누는데 얼마나 영향을 미쳤는지 표기
- normalized된 ndarray를 반환하여 0~1값을 갖는다.
- 0이면 클래스에서 해당 피쳐가 선택되지 않은 것.
- 1이면 해당 피쳐가 클래스를 완벽하게 나누었다는 것을 의미.
7. 변수 중요도별 내림차순 정렬, 가장 큰 중요도를 갖고 있는 값 출력.
#feature별 feature_importances 갖는 구조 Series 생성
col_features=['feature1','feature2', 'feature3', 'feature4']
pd.Series(index=col_feature, data=model.feature_importances_)
#feautre_importances_ 값이 최대인 값 출력
pd.Series(index=col_feature, data=model.feature_importances_).idxmax()
728x90
'Software Development > Data Science' 카테고리의 다른 글
수학문제-확률과 통계 (0) | 2023.04.15 |
---|---|
로지스틱 회귀함수 (2) | 2023.04.14 |
python 함수 소소한 메모 (0) | 2023.04.12 |
Python - lambda & 정규표현식 기초 (0) | 2023.04.11 |
Python Data Science 기초 함수 정리 (0) | 2023.04.10 |