ÎncepețiÎncepe gratuit

Concurs de boosting: Light vs Extreme

Deși performanța modelului CatBoost este relativ bună, hai să încercăm alte două variante de boosting și să vedem care se descurcă mai bine: abordarea „Light" sau cea „Extreme".

CatBoost este recomandat în special când există caracteristici categoriale. În acest caz, toate caracteristicile sunt numerice, deci una dintre celelalte abordări ar putea produce rezultate mai bune.

Deoarece construim regresori, vom folosi un parametru suplimentar, objective, care specifică funcția de învățare utilizată. Pentru a aplica eroarea pătratică, setăm objective la 'reg:squarederror' pentru XGBoost și la 'mean_squared_error' pentru LightGBM.

În plus, vom specifica parametrul n_jobs pentru XGBoost, pentru a îmbunătăți timpul de execuție.

ATENȚIE: ai grijă să nu folosești clasificatori, altfel sesiunea ta ar putea expira!

Acest exercițiu face parte din cursul

Metode de ansamblu în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Construiește un XGBRegressor folosind parametrii: max_depth = 3, learning_rate = 0.1, n_estimators = 100 și n_jobs=2.
  • Construiește un LGBMRegressor folosind parametrii: max_depth = 3, learning_rate = 0.1 și n_estimators = 100.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Build and fit an XGBoost regressor
reg_xgb = ____.____(____, ____, ____, ____, objective='reg:squarederror', random_state=500)
reg_xgb.fit(X_train, y_train)

# Build and fit a LightGBM regressor
reg_lgb = ____.____(____, ____, ____, objective='mean_squared_error', seed=500)
reg_lgb.fit(X_train, y_train)

# Calculate the predictions and evaluate both regressors
pred_xgb = reg_xgb.predict(X_test)
rmse_xgb = np.sqrt(mean_squared_error(y_test, pred_xgb))
pred_lgb = reg_lgb.predict(X_test)
rmse_lgb = np.sqrt(mean_squared_error(y_test, pred_lgb))

print('Extreme: {:.3f}, Light: {:.3f}'.format(rmse_xgb, rmse_lgb))
Editează și rulează codul