xgboost: son örneklere daha fazla önem verin


22

Xgboost ile verileri analiz ederken daha yeni olan noktalara daha fazla önem vermenin bir yolu var mı?

Yanıtlar:


9

Birden fazla xgboost modeli oluşturmayı deneyebilir, bunlardan bazıları daha yeni verilerle sınırlı olabilir, ardından bu sonuçları birlikte ağırlıklandırabilirsiniz. Başka bir fikir, son noktaları daha fazla cezalandıran ve onlara daha fazla önem verecek özelleştirilmiş bir değerlendirme metriği yapmak olacaktır.


4
OP daha yeni gözlemlere daha yüksek örnek ağırlıkları verebilir. Xgboost gibi
Ricardo Cruz

30

Xgb.DMatrix'inize zaman etiketlerinize göre ağırlık eklemeniz yeterlidir. Aşağıdaki örnek R'de yazılmıştır, ancak aynı ilke Python veya Julia'daki xgboost için de geçerlidir.

data <- data.frame(feature = rep(5, 5),
                   year = seq(2011, 2015), 
                   target = c(1, 0, 1, 0, 0))
weightsData <- 1 + (data$year - max(data$year)) * 5 * 0.01

#Now create the xgboost matrix with your data and weights
xgbMatrix <- xgb.DMatrix(as.matrix(data$feature), 
                         label = data$target, 
                         weight = weightsData)

Cevabınız için teşekkürler - kodlanmış bir örnek görmek gerçekten yararlı. Ağırlık fonksiyonu katsayılarının büyüklüğü modeli nasıl etkiler? Xgboost belgelerine baktım, ancak bu sayısal değerlerin önemi hakkında bilgi bulamıyorum.
kilojoules

bu numarayı bilmiyordum, güzel. setinfo()çok açıklayıcı olmasa da , xgboost dokümanı fonksiyon altında küçük bir tidbit var
TBSRounder 24:15

12

Python'da güzel bir scikit-öğrenme sarmalayıcısı var, böylece şöyle yazabilirsiniz:

import xgboost as xgb
exgb_classifier = xgb.XGBClassifier()
exgb_classifier.fit(X, y, sample_weight=sample_weights_data)

Bundan daha fazla bilgi alabilirsiniz: http://xgboost.readthedocs.io/en/latest/python/python_api.html#xgboost.XGBClassifier.fit


R caret dilek de bu inşa vardı ..
pauljeba

1
xgb.XGBClassifier()kodun ikinci satırında olmalı , ancak stackexchange altı karakterden daha az düzenlemeye izin vermiyor ...
Andre Holzner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.