Začněte nyníZačněte zdarma

XGBoost: trénování a predikce

Je čas sestavit tvůj první XGBoost model! Jak ti Sergey ukázal ve videu, k trénování a predikci XGBoost modelů můžeš využít paradigma .fit() / .predict() ze scikit-learn, které už znáš — knihovna xgboost totiž nabízí API kompatibilní se scikit-learn!

V tomto cvičení budeš pracovat s daty o odchodu zákazníků. Dataset obsahuje fiktivní data z aplikace pro sdílení jízd: chování uživatelů v průběhu jejich prvního měsíce používání aplikace ve fiktivních městech a informaci o tom, zda službu využívali i 5 měsíců po registraci. Data jsou předem načtena do DataFrame s názvem churn_data — prozkoumej ho v shellu!

Tvým cílem je na základě dat z prvního měsíce předpovědět, zda uživatelé budou aplikaci stále používat i po 5 měsících. To je typický scénář pro predikci odchodu zákazníků. Data rozdělíš na trénovací a testovací sadu, na trénovací sadě natrénuješ jednoduchý model xgboost a jeho výkon vyhodnotíš na testovací sadě výpočtem přesnosti.

pandas a numpy jsou již importovány jako pd a np a train_test_split je importován z sklearn.model_selection. Pole příznaků a cílové proměnné jsou připraveny jako X a y.

Toto cvičení je součástí kurzu

Extreme Gradient Boosting with XGBoost

Zobrazit kurz

Pokyny k cvičení

  • Importuj xgboost jako xgb.
  • Vytvoř trénovací a testovací sady tak, aby 20 % dat bylo použito pro testování. Nastav random_state na 123.
  • Vytvoř instanci XGBoostClassifier jako xg_cl pomocí xgb.XGBClassifier(). Nastav n_estimators na 10 a objective na 'binary:logistic'. Zatím si s tím nedělej starosti — o těchto parametrech se dozvíš více později v kurzu.
  • Pomocí metody .fit() natrénuj xg_cl na trénovací sadě (X_train, y_train).
  • Pomocí metody .predict() předpověz štítky testovací sady (X_test) a kliknutím na 'Odeslat odpověď' zobraz výslednou přesnost.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Import xgboost
____

# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]

# Create the training and test sets
X_train, X_test, y_train, y_test= ____(____, ____, test_size=____, random_state=123)

# Instantiate the XGBClassifier: xg_cl
xg_cl = ____.____(____='____', ____=____, seed=123)

# Fit the classifier to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the accuracy: accuracy
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))
Upravit a spustit kód