Yanıtlar:
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.
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)
setinfo()
çok açıklayıcı olmasa da , xgboost dokümanı fonksiyon altında küçük bir tidbit var
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
xgb.XGBClassifier()
kodun ikinci satırında olmalı , ancak stackexchange altı karakterden daha az düzenlemeye izin vermiyor ...