Ich bin mit XGBoost XGBRegressor mit Python und Datenmenge, die wie folgt aussieht:XGboost - Erhöhung der Trainingsfehler "mae"
click_id | manufacturer | category | delivery_time | price | revenue
1 |10 | 100 | 24 | 100 | 0
2 |10 | 100 | 24 | 100 | 0
3 |10 | 100 | 24 | 100 | 0
4 |10 | 100 | 24 | 100 | 120
5 |20 | 200 | 48 | 200 | 0
Umsatz ist abhängig vari fähig und der Rest der Variablen sind Features.
Wenn ich XGBRegressor laufen und setze eval_metric als „mae“ (mittleren absoluten Fehler) die Ausbildung und Validierungsfehler werden immer höher. Wie kann der Trainingsfehler zunehmen? Gibt es einen Fall (irgendeine Kombination von Modellparametern oder seltsamen Datenpunkten), der dazu führen könnte, dass sich der xgboost-Trainingsfehler erhöht?
Dies ist der Code:
model = XGBRegressor(
learning_rate=0.1,
n_estimators=200,
max_depth=5,
min_child_weight=1,
gamma=0,
subsample=0.9,
colsample_bytree=0.9,
reg_alpha=10,
nthread=4)
model.fit(X_train, y_train,
eval_set=[(X_train, y_train), (X_test, y_test)], eval_metric='mae')
Wenn eval_metric wird als "rmse" Trainingsfehler wie erwartet abnimmt.