def Features(my, prodShift):
Xtrain, Ytrain, Xvalid, Yvalid = [], [], [], []
keys = []
for u in my.Users:
for m in my.MccList:
for month in xrange(15 + prodShift):
if month < 13 + prodShift: continue
f = my.Features(u, m, month)
ans = math.log(1.0 + my.Answers[u + '_' + m][month])
if month == 14 + prodShift:
if u not in my.ValidUsers: continue
Xvalid.append(f)
Yvalid.append(ans)
keys.append([u, m])
else:
Xtrain.append(f)
Ytrain.append(ans)
Xtrain, Ytrain, Xvalid, Yvalid = map(np.asarray, [Xtrain, Ytrain, Xvalid, Yvalid])
return xgboost.DMatrix(Xtrain, Ytrain), xgboost.DMatrix(Xvalid, Yvalid), Yvalid, keys
评论列表
文章目录