我想引用xgb.DMatrix中的一列并在if条件中使用它。
是否可以在xgb.DMatrix的列中引用元素? (我正在使用xgboost
包)
例如:
mat1_xgb[date_created<latest_date,]
其中
latest_date is some date in numeric format
mat1_xgb$date_created is a column of dates in numeric formats
示例
在r代码中:
Matrix_1:
| date_created | val1 | date_closed |
| 17912 |2.3 | 17914 |
| 17913 |2. 5 | 17915 |
| 17932 |2.1 | 17941 |
然后创建一个for循环,其中xgboost模型仅使用递增日期之前的日期运行:
for(i in seq(2,dim(Matrix_1)[1],1)){
latest_date = Matrix_1[2,date_created]
xgb1_learn = xgboost(data = Matrix_1[date_closed<latest_date], params = params, etc)
data_table_1[i:i+50] = predict(xgb1_learn, Matrix_1[i:i+50])
}
因此,我们仅在过去的数据点上训练模型