जवाबों:
आप कई xgboost मॉडल बनाने की कोशिश कर सकते हैं, उनमें से कुछ अधिक हालिया डेटा तक सीमित हैं, फिर उन परिणामों को एक साथ जोड़कर। एक अन्य विचार एक स्वनिर्धारित मूल्यांकन मीट्रिक बनाना होगा जो हाल के बिंदुओं को अधिक भारी दंडित करता है जो उन्हें अधिक महत्व देगा।
बस अपने समय लेबल के आधार पर वेट को अपने xgb.DMatrix में जोड़ें। निम्नलिखित उदाहरण आर में लिखा गया है लेकिन पायथन या जूलिया पर एक ही सिद्धांत xgboost पर लागू होता है।
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()
, हालांकि इसकी बहुत वर्णनात्मक नहीं है
पायथन पर आपके पास एक अच्छा स्किटिट-लर्न रैपर है, इसलिए आप इस तरह से लिख सकते हैं:
import xgboost as xgb
exgb_classifier = xgb.XGBClassifier()
exgb_classifier.fit(X, y, sample_weight=sample_weights_data)
अधिक जानकारी आप इससे प्राप्त कर सकते हैं: http://xgboost.readthedocs.io/en/latest/python/python_api.html#xgboost.XGBClassifier.fit
xgb.XGBClassifier()
कोड की दूसरी पंक्ति में होना चाहिए , लेकिन स्टेक्सएक्सचेंज छह वर्णों से कम के संपादन की अनुमति नहीं देता ...