Zacznij terazZacznij za darmo

Pomiar dokładności

Teraz przećwiczysz korzystanie z API uczenia XGBoost wraz z wbudowanymi możliwościami walidacji krzyżowej. Jak omawiał Siergiej w poprzednim filmie, XGBoost osiąga wysoką wydajność dzięki własnej, zoptymalizowanej strukturze danych dla zbiorów danych – obiektowi DMatrix.

W poprzednim ćwiczeniu dane wejściowe były konwertowane do formatu DMatrix automatycznie. Jednak podczas korzystania z obiektu cv biblioteki xgboost musisz najpierw jawnie przekształcić dane do formatu DMatrix. Właśnie to zrobisz tutaj, zanim uruchomisz walidację krzyżową na zbiorze churn_data.

To ćwiczenie jest częścią kursu

Extreme Gradient Boosting with XGBoost

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz obiekt DMatrix o nazwie churn_dmatrix ze zbioru churn_data, używając funkcji xgb.DMatrix(). Cechy są dostępne w zmiennej X, a etykiety w zmiennej y.
  • Wykonaj 3-krotną walidację krzyżową, wywołując funkcję xgb.cv(). Parametr dtrain to twój obiekt churn_dmatrix, params to słownik parametrów, nfold to liczba podziałów walidacji krzyżowej (3), num_boost_round to liczba drzew do zbudowania (5), natomiast metrics to metryka, którą chcesz obliczyć (w tym przypadku "error", którą następnie przekształcimy na wartość dokładności).

Interaktywne ćwiczenie praktyczne

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

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

# Create the DMatrix from X and y: churn_dmatrix
churn_dmatrix = ____(data=____, label=____)

# Create the parameter dictionary: params
params = {"objective":"reg:logistic", "max_depth":3}

# Perform cross-validation: cv_results
cv_results = ____(dtrain=____, params=____, 
                  nfold=____, num_boost_round=____, 
                  metrics="____", as_pandas=____, seed=123)

# Print cv_results
print(cv_results)

# Print the accuracy
print(((1-cv_results["test-error-mean"]).iloc[-1]))
Edytuj i uruchom kod