Zacznij terazZacznij za darmo

XGBoost: dopasowanie i predykcja

Czas zbudować swój pierwszy model XGBoost! Jak pokazał Sergey w filmie, możesz korzystać ze schematu .fit() / .predict() ze scikit-learn, który już znasz – biblioteka xgboost udostępnia API zgodne z scikit-learn!

W tym ćwiczeniu pracujesz z danymi dotyczącymi rezygnacji klientów (churn). Zbiór danych zawiera fikcyjne dane z aplikacji do wspólnych przejazdów: zachowania użytkowników w ciągu pierwszego miesiąca korzystania z aplikacji w wybranych miastach oraz informację, czy nadal korzystali z usługi po 5 miesiącach od rejestracji. Dane zostały wczytane do ramki danych churn_data – możesz je przejrzeć w konsoli!

Twoim celem jest wykorzystanie danych z pierwszego miesiąca do przewidzenia, czy użytkownicy aplikacji pozostaną jej klientami po 5 miesiącach. To typowe podejście do problemu przewidywania rezygnacji. W tym celu podzielisz dane na zbiór treningowy i testowy, dostosujesz mały model xgboost do danych treningowych, a następnie ocenisz jego skuteczność na zbiorze testowym, obliczając dokładność.

Biblioteki pandas i numpy zostały zaimportowane jako pd i np, a train_test_split – z sklearn.model_selection. Tablice cech i zmiennej docelowej są dostępne jako X i y.

To ćwiczenie jest częścią kursu

Extreme Gradient Boosting with XGBoost

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj xgboost jako xgb.
  • Utwórz zbiory treningowy i testowy tak, aby 20% danych trafiło do zbioru testowego. Użyj random_state równego 123.
  • Utwórz instancję XGBoostClassifier jako xg_cl, korzystając z xgb.XGBClassifier(). Ustaw n_estimators na 10 oraz objective na 'binary:logistic'. Nie martw się na razie, co to oznacza – tych parametrów nauczysz się w dalszej części kursu.
  • Dopasuj xg_cl do zbioru treningowego (X_train, y_train) za pomocą metody .fit().
  • Przewidź etykiety zbioru testowego (X_test) za pomocą metody .predict() i kliknij „Prześlij odpowiedź", aby wyświetlić dokładność.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod