[파이썬] xgboost 회귀 문제에서의 평가 지표 설정

xgboost은 강력한 기계 학습 알고리즘으로, 회귀 문제에 적용할 수 있습니다. 회귀 문제에서는 예측값과 실제값 사이의 차이를 평가하여 모델의 성능을 평가해야 합니다. 이때, 평가 지표를 적절하게 설정하는 것이 중요합니다.

일반적으로 xgboost 회귀 모델의 성능 평가 지표로 사용되는 지표는 평균 제곱근 오차 (Root Mean Squared Error, RMSE)입니다. RMSE는 예측값과 실제값 사이의 차이를 제곱한 뒤에 평균한 값의 제곱근을 구하는 방식으로 계산됩니다. RMSE는 예측값과 실제값의 스케일에 민감하지 않으며, 높은 값일수록 예측 오차가 크다는 것을 의미합니다.

xgboost에서 RMSE를 평가 지표로 사용하기 위해서는 다음과 같이 코드를 작성할 수 있습니다.

import xgboost as xgb
from sklearn.metrics import mean_squared_error

# 데이터 준비
X_train = ...
y_train = ...
X_test = ...
y_test = ...

# xgboost 모델 훈련
model = xgb.XGBRegressor()
model.fit(X_train, y_train)

# 예측값 계산
y_pred = model.predict(X_test)

# 평가 지표 계산
rmse = mean_squared_error(y_test, y_pred, squared=False)

print("RMSE: {:.2f}".format(rmse))

위의 코드에서 mean_squared_error() 함수는 sklearn.metrics 모듈에 있는 함수로, RMSE를 계산하기 위해 사용됩니다. squared=False 옵션을 사용하여 제곱근을 구하도록 설정할 수 있습니다.

이외에도 다른 평가 지표를 사용할 수도 있습니다. 예를 들어, 평균 절대 오차 (Mean Absolute Error, MAE)는 예측값과 실제값 사이의 절대 차이를 평균하여 모델의 성능을 평가합니다. MAE는 RMSE와 달리 제곱을 하지 않기 때문에 예측값과 실제값의 차이에 대해 더 직관적으로 평가할 수 있습니다.

MAE를 평가 지표로 사용하기 위해서는 mean_absolute_error() 함수를 사용하면 됩니다.

from sklearn.metrics import mean_absolute_error

# ...

# 평가 지표 계산
mae = mean_absolute_error(y_test, y_pred)

print("MAE: {:.2f}".format(mae))

따라서, xgboost 회귀 문제에서는 주로 RMSE나 MAE를 평가 지표로 사용하며, mean_squared_error()mean_absolute_error() 함수를 사용하여 간편하게 계산할 수 있습니다. 이를 통해 모델의 성능을 평가하고, 필요에 따라 모델을 조정할 수 있습니다.