[머신러닝]사이킷런을 활용한 주택 가격 예측(2)

리냥·2023년 9월 18일
0

1탄 없이 2탄먼저 올림

2탄에선
회귀 트리를 이용해 회귀 모델 만들고 개별 회귀 모델의 예측 결괏값을 혼합해 최종 회귀 값 예측할 것이다.


1. XGBoost와 LightGBM을 활용한 회귀 트리 모델 학습/예측/평가


  • XGBoost: XGBRegressor
  • LightGBM: LGBMRegressor


    먼저 XGBoost를 사용한다.



    XGBRegressor 적용 시 5폴드 세트 평균 RMSE 0.1177이 도출된다.

LightGBM의 경우 설치를 먼저 진행했다.





LightBGM이 작동은 되는데, 뭔가 문제가 있는 것 같다. 해결중


암튼 LightGBM 적용 시 5폴드 세트 평균 RMSE 0.1166인 것을 확인했다.

2. 회귀 모델의 예측 결과 혼합을 통한 최종 예측


2-1. 릿지와 라쏘 혼합

  • get_rmse_pred() 개별 모델의 RMSE값 출력
  • 개별 모델의 RMSE값 출력 -> 계산 -> 개별 모델과 최종 혼합 모델의 RMSE값 계산


릿지 예측값에 0.4를 곱하고 라쏘 모델 예측값에 0.6을 곱한 뒤 더했다.(성능이 더 좋았던 곳에 가중치를 뒀다.)


최종 혼합 모델의 RMSE가 개별 모델보다 더 개선된 걸 확인 가능함.

2-2. XGBoost와 LightBGM 혼합



통상적으로 최종 혼합 모델의 성능이 더 우수해야 하지만 현재 내 LightBGM에 문제가 있어 느리게 나온 것 같다.


2-3. 스태킹 앙상블 모델 사용

  • 스태킹 앙상블 모델: 개별 기반 모델의 예측 데이터를 학습 데이터로 만든 후 학습하는 최종 메타 모델
  • 여러 개별 모델의 예측 데이터를 각각 스태킹 형태로 결합해 최종 메타 모델의 학습용 피처 데이터 세트와 테스트용 피처 데이터 세트 만들 예정
  • get_stacking_base_datasets() 이용


이제 get_stacking_base_datasets()를 모델별로 적용해 메타 모델이 사용할 학습 피처 데이터 세트와 테스트 피처 데이터 세트 추출함.


릿지, 라쏘, XGBoost, LightGBM 다 이용할거임

이제 각 모델이 반환한 학습용 피처 데이터와 테스트용 피처 데이터 세트를 결합한 최종 메타 모델 적용함.


메타 모델은 별도의 라쏘 모델 이용

profile
안녕하세요. 일로 인해 잠시 쉽니다 :)

0개의 댓글