답변:
여러 xgboost 모델을 빌드하여 일부 최신 데이터로 제한 한 다음 그 결과에 가중치를 적용 할 수 있습니다. 또 다른 아이디어는 최근의 포인트에 더 큰 불이익을주는 맞춤형 평가 메트릭을 만들어 더 중요하게 만드는 것입니다.
시간 레이블을 기준으로 가중치를 xgb.DMatrix에 추가하기 만하면됩니다. 다음 예제는 R로 작성되었지만 동일한 원칙이 Python 또는 Julia의 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()
있지만 그 설명은
파이썬에는 멋진 scikit-learn 래퍼가 있으므로 다음과 같이 작성할 수 있습니다.
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()
코드의 두 번째 줄에 있어야 하지만 stackexchange는 6 자 미만의 편집을 허용하지 않습니다 ...