Začněte nyníZačněte zdarma

Měření přesnosti

Teď si procvičíš práci s učícím API XGBoostu a jeho vestavěnými možnostmi křížové validace. Jak Sergey zmínil v předchozím videu, XGBoost dosahuje svého vynikajícího výkonu a efektivity díky vlastní optimalizované datové struktuře pro datasety zvané DMatrix.

V předchozím cvičení byly vstupní datasety převedeny na DMatrix automaticky za běhu. Pokud ale používáš objekt cv z knihovny xgboost, musíš data do formátu DMatrix převést explicitně předem. Přesně to teď uděláš, než spustíš křížovou validaci na datech churn_data.

Toto cvičení je součástí kurzu

Extreme Gradient Boosting with XGBoost

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř DMatrix s názvem churn_dmatrix z dat churn_data pomocí xgb.DMatrix(). Příznaky jsou dostupné v X, štítky v y.
  • Proveď 3-násobnou křížovou validaci voláním xgb.cv(). dtrain je tvůj churn_dmatrix, params je slovník parametrů, nfold je počet foldů křížové validace (3), num_boost_round je počet stromů, které chceme sestavit (5), a metrics je metrika, kterou chceš vypočítat (použij "error", kterou následně převedeme na přesnost).

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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]))
Upravit a spustit kód