본문 바로가기
python/MLDL

캐글 Regression with an Abalone Dataset 도전 (3)

by 포잉띠 2024. 4. 26.
#이상치 처리
train_df.loc[train_df["Height"] > 0.7 , "Height"] = train_med
train_df.loc[train_df["Height"] == 0 , "Height"] = train_med

test_df.loc[test_df["Height"] > 0.7 , "Height"] = test_med
test_df.loc[test_df["Height"] == 0 , "Height"] = test_med 

#XGBOOST
xgb_reg = XGBRegressor(n_estimators=100, learning_rate=0.05)
xgb_reg.fit(mm_train_df, y)

이전의 진행에서 이상치 처리를 drop이 아닌 중앙값으로 대체하고 MinMaxScaler를 통해 정규화 진행했다.

랜덤포레스트 모델에서 XGBOOST 모델로 바꾸어서 진행해 보았다.

 

랜덤포레스트 사용할때는 로컬환경에서 3~4분이 넘게 걸렸었는데 XGBOOST 사용하니까 

단 7초만에 학습이 끝났다.

트리의 수도 동일하게 100개로 진행했는데 훨씬 빠르게 진행이 되었다.

0.016 정도나 줄어들었다...

XGBOOST가 기가막힌 모델인건 알고는 있었는데 이정도의 성능 차이를 보이는지는 몰랐다.

분류모델 성능이 진짜 말도안된다는데 회귀문제에서 이정도 체감할 정도면 분류문제에서는 얼마나 성능이 높게 나올지 기대된다.