Doğruluğu ölçme
Şimdi XGBoost'un öğrenme API'sini, yerleşik çapraz doğrulama yetenekleri üzerinden kullanmayı pratik edeceksin. Sergey'in önceki videoda anlattığı gibi, XGBoost övgü alan performans ve verimlilik kazanımlarını, DMatrix adı verilen ve veri kümeleri için optimize edilmiş kendi veri yapısını kullanarak elde eder.
Önceki egzersizde, giriş veri kümeleri anlık olarak DMatrix verisine dönüştürülmüştü; ancak xgboost cv nesnesini kullandığında, verini önce açıkça bir DMatrix'e dönüştürmen gerekir. Bu yüzden, churn_data üzerinde çapraz doğrulamayı çalıştırmadan önce tam da bunu yapacaksın.
Bu egzersiz
XGBoost ile Aşırı Gradyan Artırma
kursunun bir parçasıdırEgzersiz talimatları
xgb.DMatrix()kullanarakchurn_data'danchurn_dmatrixadlı birDMatrixoluştur. ÖzelliklerXiçinde, etiketleryiçinde bulunuyor.xgb.cv()çağırarak 3 katlı çapraz doğrulama yap.dtrain, seninchurn_dmatrix'indir;params, parametre sözlüğündür;nfold, çapraz doğrulama kat sayısıdır (3);num_boost_round, oluşturmak istediğimiz ağaç sayısıdır (5);metrics, hesaplamak istediğin metriktir (bu"error"olacak ve bunu doğruluğa çevireceğiz).
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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]))