Doğrusal temel öğreniciler
XGBoost'ta ağaçları temel model olarak kullandıktan sonra, şimdi XGBoost ile kullanılabilen diğer temel modele, yani doğrusal bir öğreniciye geçelim. Bu model, XGBoost'ta çok yaygın kullanılmasa da, XGBoost'un güçlü öğrenme API'siyle düzenlileştirilmiş bir doğrusal regresyon kurmana olanak tanır. Ancak yaygın olmadığı için, modeli kurmak için xgb.train() gibi scikit-learn ile uyumlu olmayan XGBoost'un kendi fonksiyonlarını kullanman gerekir.
Bunu yapmak için, kullanmak istediğin güçlendiricinin (booster) türünü tanımlayan bir parametre sözlüğü oluşturmalısın (tıpkı Bölüm 1'de xgb.cv() kullanırken sözlüğü oluşturduğun gibi). İhtiyaç duyduğun yükseltici türünü (temel modeli) tanımlayan anahtar-değer çifti "booster":"gblinear".
Modeli oluşturduktan sonra, geçmişte yaptığın gibi modelin .train() ve .predict() metotlarını kullanabilirsin.
Burada veriler eğitim ve test kümelerine zaten bölünmüş durumda, bu yüzden XGBoost öğrenme API'sinin gerektirdiği DMatrix nesnelerini oluşturmaya doğrudan başlayabilirsin.
Bu egzersiz
XGBoost ile Aşırı Gradyan Artırma
kursunun bir parçasıdırEgzersiz talimatları
- İki
DMatrixnesnesi oluştur: eğitim kümesi içinDM_train(X_trainvey_train), test kümesi içinDM_test(X_testvey_test). - Kullanacağın
"booster"türünü ("gblinear") ve minimize edeceğin"objective"i ("reg:squarederror") tanımlayan bir parametre sözlüğü oluştur. - Modeli
xgb.train()kullanarak eğit. Şu parametreler için argüman belirtmelisin:params,dtrainvenum_boost_round. Artırma turu sayısı olarak5kullan. - Test kümesi üzerindeki etiketleri
xg_reg.predict()ile,DM_test'i geçirerek tahmin et. Sonucupredsdeğişkenine ata. - RMSE'yi görmek için 'Yanıtı Gönder' düğmesine bas!
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Convert the training and testing sets into DMatrixes: DM_train, DM_test
DM_train = ____
DM_test = ____
# Create the parameter dictionary: params
params = {"____":"____", "____":"____"}
# Train the model: xg_reg
xg_reg = ____.____(____ = ____, ____=____, ____=____)
# Predict the labels of the test set: preds
preds = ____
# Compute and print the RMSE
rmse = np.sqrt(mean_squared_error(y_test,preds))
print("RMSE: %f" % (rmse))