ПочатиПочніть безкоштовно

Вимірювання точності

Тепер ви попрактикуєтеся використовувати навчальний 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]))
Редагувати та запускати код