Software Development/Data Science

Python RandomForestRegressor

huiyu 2023. 4. 13. 06:36

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