НачатьНачать бесплатно

Измерение точности

Сейчас вы попрактикуетесь в использовании обучающего API XGBoost с помощью встроенных возможностей кросс-валидации. Как рассказывал Сергей в предыдущем видео, XGBoost достигает высокой производительности и эффективности благодаря собственной оптимизированной структуре данных — DMatrix.

В предыдущем упражнении входные наборы данных преобразовывались в формат DMatrix автоматически. Однако при использовании объекта cv из библиотеки xgboost необходимо явно преобразовать данные в DMatrix заранее. Именно это вы и сделаете перед запуском кросс-валидации на churn_data.

Это упражнение является частью курса

Экстремальный градиентный бустинг с XGBoost

Посмотреть курс

Инструкции к упражнению

  • Создайте DMatrix с именем churn_dmatrix на основе churn_data, используя xgb.DMatrix(). Признаки доступны в переменной X, метки — в переменной y.
  • Выполните 3-кратную кросс-валидацию, вызвав xgb.cv(). dtrain — это ваш churn_dmatrix, params — словарь параметров, nfold — количество фолдов кросс-валидации (3), num_boost_round — количество деревьев, которые нужно построить (5), metrics — метрика для вычисления (в данном случае "error", которую мы затем преобразуем в точность).

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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]))
Редактировать и запускать код