IniziaInizia gratis

XGBoost: Fit/Predict

È il momento di creare il tuo primo modello XGBoost! Come Sergey ha mostrato nel video, puoi usare il paradigma .fit() / .predict() di scikit-learn che già conosci per costruire i tuoi modelli XGBoost, perché la libreria xgboost ha un'API compatibile con scikit-learn!

Qui lavorerai con dati di churn. Questo insieme di dati contiene dati immaginari di un'app di ride-sharing con i comportamenti degli utenti durante il primo mese di utilizzo dell'app in un insieme di città immaginarie, oltre a indicare se hanno usato il servizio 5 mesi dopo l'iscrizione. È stato precaricato per te in un DataFrame chiamato churn_data - esploralo nella Shell!

Il tuo obiettivo è usare i dati del primo mese per prevedere se gli utenti dell'app resteranno utenti del servizio al traguardo dei 5 mesi. Questo è un tipico setup per un problema di previsione del churn. Per farlo, dividerai i dati in training e test set, adatterai un piccolo modello xgboost sul training set e valuterai le sue prestazioni sul test set calcolandone l'accuracy.

pandas e numpy sono stati importati come pd e np, e train_test_split è stato importato da sklearn.model_selection. Inoltre, gli array per le feature e il target sono stati creati come X e y.

Questo esercizio fa parte del corso

Extreme Gradient Boosting con XGBoost

Visualizza il corso

Istruzioni dell'esercizio

  • Importa xgboost come xgb.
  • Crea training e test set in modo che il 20% dei dati sia usato per il test. Usa un random_state pari a 123.
  • Istanzia un XGBoostClassifier come xg_cl usando xgb.XGBClassifier(). Specifica n_estimators a 10 stimatori e un objective di 'binary:logistic'. Non preoccuparti del significato per ora: imparerai questi parametri più avanti nel corso.
  • Adatta xg_cl al training set (X_train, y_train) usando il metodo .fit().
  • Predici le etichette del test set (X_test) usando il metodo .predict() e premi "Invia risposta" per stampare l'accuracy.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice