Kom igångKom igång gratis

Mäta noggrannhet

Nu ska du öva på att använda XGBoosts inlärnings-API med dess inbyggda korsvalideringsfunktioner. Som Sergey tog upp i föregående video uppnår XGBoost sina välkända prestanda- och effektivitetsvinster genom att använda en egen optimerad datastruktur för datamängder – en DMatrix.

I föregående övning konverterades indata till DMatrix-format automatiskt. När du däremot använder xgboost-objektet cv behöver du först explicit konvertera dina data till en DMatrix. Det är precis det du gör här, innan du kör korsvalidering på churn_data.

Den här övningen är en del av kursen

Extreme Gradient Boosting med XGBoost

Visa kurs

Övningsinstruktioner

  • Skapa en DMatrix kallad churn_dmatrix från churn_data med hjälp av xgb.DMatrix(). Särdragen finns i X och etiketterna i y.
  • Utför 3-faldig korsvalidering genom att anropa xgb.cv(). dtrain är din churn_dmatrix, params är din parametersordbok, nfold är antalet korsvalideringsveck (3), num_boost_round är antalet träd du vill bygga (5) och metrics är det mått du vill beräkna (här "error", som vi sedan konverterar till en noggrannhetsscore).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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]))
Redigera och kör kod