Kom igångKom igång gratis

XGBoost: Träna/Förutsäg

Nu är det dags att skapa din första XGBoost-modell! Som Sergey visade i videon kan du använda scikit-learns .fit() / .predict()-mönster som du redan känner till för att bygga dina XGBoost-modeller – biblioteket xgboost har nämligen ett scikit-learn-kompatibelt API!

Här kommer du att arbeta med churn-data. Datamängden innehåller fiktiva data från en samåkningsapp med användarbeteenden under deras första månad och huruvida de använde tjänsten 5 månader efter registrering. Den har förhandsladdats åt dig i en DataFrame som heter churn_data – utforska den gärna i Shell!

Målet är att använda data från den första månaden för att förutsäga om appens användare fortfarande är aktiva kunder vid 5-månadersmärket. Det här är ett typiskt upplägg för ett churn-prediktionsproblem. Du delar upp datan i tränings- och testmängder, tränar en liten xgboost-modell på träningsdatan och utvärderar dess prestanda på testmängden genom att beräkna noggrannheten.

pandas och numpy har importerats som pd och np, och train_test_split har importerats från sklearn.model_selection. Arrayerna för särdragen och målet har dessutom skapats som X och y.

Den här övningen är en del av kursen

Extreme Gradient Boosting med XGBoost

Visa kurs

Övningsinstruktioner

  • Importera xgboost som xgb.
  • Skapa tränings- och testmängder så att 20 % av datan används för testning. Använd random_state 123.
  • Instansiera en XGBoostClassifier som xg_cl med xgb.XGBClassifier(). Ange n_estimators till 10 estimatorer och objective till 'binary:logistic'. Du behöver inte oroa dig för vad detta innebär just nu – du lär dig om dessa parametrar senare i kursen.
  • Träna xg_cl på träningsdatan (X_train, y_train) med metoden .fit().
  • Förutsäg etiketterna för testmängden (X_test) med metoden .predict() och klicka på 'Skicka in svar' för att skriva ut noggrannheten.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod