반응형
전처리를 모두 마쳤으니, 이제는 본격적으로 여러 회귀 모델을 학습하고 성능을 비교해보겠습니다. 이번 에피소드에서는 기본 모델 몇 가지를 테스트하여 베이스라인을 잡는 데 집중합니다.
🧪 1. 평가 지표: RMSLE
대회 평가지표인 **RMSLE (Root Mean Squared Log Error)**를 직접 계산해봅니다.
from sklearn.metrics import mean_squared_log_error
import numpy as np
def rmsle(y_true, y_pred):
return np.sqrt(mean_squared_log_error(y_true, y_pred))
로그 값 비교이므로 예측값과 실제값 모두 0보다 커야 하며, log 변환 시 np.log1p() 사용이 일반적입니다.
📐 2. 로그 변환 적용
y = np.log1p(train['SalePrice'])
✅ 3. 모델별 실험
3.1. Linear Regression
from sklearn.linear_model import LinearRegression
model_lr = LinearRegression()
model_lr.fit(X, y)
preds_lr = model_lr.predict(X)
print("Linear RMSLE:", rmsle(y, preds_lr))
3.2. Ridge Regression
from sklearn.linear_model import Ridge
model_ridge = Ridge(alpha=10)
model_ridge.fit(X, y)
preds_ridge = model_ridge.predict(X)
print("Ridge RMSLE:", rmsle(y, preds_ridge))
3.3. Lasso Regression
from sklearn.linear_model import Lasso
model_lasso = Lasso(alpha=0.001)
model_lasso.fit(X, y)
preds_lasso = model_lasso.predict(X)
print("Lasso RMSLE:", rmsle(y, preds_lasso))
3.4. Random Forest Regressor
from sklearn.ensemble import RandomForestRegressor
model_rf = RandomForestRegressor(n_estimators=100, random_state=42)
model_rf.fit(X, y)
preds_rf = model_rf.predict(X)
print("Random Forest RMSLE:", rmsle(y, preds_rf))
📊 4. 성능 요약 (예시 결과)
모델명RMSLE (예시)
| Linear Regression | 0.1645 |
| Ridge Regression | 0.1560 |
| Lasso Regression | 0.1547 |
| Random Forest | 0.1472 |
이 결과는 train 기준이며, 과적합 가능성 존재. 이후에는 교차검증을 활용한 평가도 진행 예정입니다.
✅ 요약
- 다양한 회귀 모델을 비교하며 초기 베이스라인 확보
- Lasso와 Random Forest의 성능이 우수
- 로그 변환을 적용하면 RMSLE 평가에 적합한 결과 도출 가능
➡️ 다음 편에서는 XGBoost, LightGBM 같은 고성능 모델을 도입하여 더 나은 결과를 노려보겠습니다 🚀
반응형
'04. 캐글' 카테고리의 다른 글
| 00017. [KAG-002] House Prices 예측 #6 - 하이퍼파라미터 튜닝으로 성능 극대화 (0) | 2025.04.15 |
|---|---|
| 00016. [KAG-002] House Prices 예측 #5 - XGBoost & LightGBM 적용 (0) | 2025.04.15 |
| 00014. [KAG-002] House Prices 예측 #3 - 결측치 처리 & 파생 피처 생성 (0) | 2025.04.15 |
| 00013. [KAG-002] House Prices 예측 #2 - 데이터 탐색 및 시각화 (0) | 2025.04.15 |
| 00012. [KAG-002] House Prices 예측 #1 - 대회 분석 및 계획 세우기 (0) | 2025.04.15 |