1. 학습
  2. /
  3. 강의
  4. /
  5. Extreme Gradient Boosting with XGBoost

Connected

연습 문제

Lineární základní modely

Teď, když jsi v XGBoost používal/a stromy jako základní modely, zkusíme druhý typ základního modelu – lineární learner. Tento model sice není v XGBoost tak běžný, ale umožňuje ti vytvořit regularizovanou lineární regresi s využitím výkonného learning API XGBoost. Protože se ale příliš nepoužívá, musíš při jeho sestavování sáhnout po vlastních funkcích XGBoost, které nejsou kompatibilní se scikit-learn – například xgb.train().

K tomu potřebuješ vytvořit slovník parametrů, který popisuje typ boosteru, jenž chceš použít (podobně jako jsi vytvářel/a slovník v kapitole 1 při práci s xgb.cv()). Pár klíč–hodnota definující typ boosteru (základního modelu) je "booster":"gblinear".

Jakmile model vytvoříš, můžeš stejně jako dříve použít metody .train() a .predict().

Data jsou už rozdělena na trénovací a testovací sady, takže se můžeš rovnou pustit do vytváření objektů DMatrix, které XGBoost learning API vyžaduje.

지침

100 XP
  • Vytvoř dva objekty DMatrix – DM_train pro trénovací sadu (X_train a y_train) a DM_test pro testovací sadu (X_test a y_test).
  • Vytvoř slovník parametrů, který definuje typ "booster" ("gblinear") a "objective", kterou budeš minimalizovat ("reg:squarederror").
  • Natrénuj model pomocí xgb.train(). Zadej argumenty pro tyto parametry: params, dtrain a num_boost_round. Použij 5 boosting kol.
  • Předpověz štítky na testovací sadě pomocí xg_reg.predict() – předej jí DM_test. Výsledek ulož do preds.
  • Klikni na Submit Answer a podívej se na hodnotu RMSE!