在用keras训练deepFM时,评估的时候出现这个错误。说明评估的数据维度和训练的维度不一致,建议对sparse_features
、dense_features
重新划分。
部分代码如下:
cclicol = ['position', 'hour', 'advert_place', 'province_id', 'W', 'H', 'click_nums_all',
'click_nums_yesterday', 'user_modelMake', 'holiday_clicks', 'weekend_clicks', 'workday_clicks',
'ad_click_all', 'ad_click_yesterday']
# sparse_features = cclicol
# dense_features = cclicol
# 稀疏
sparse_features = ['hour', 'advert_place', 'province_id', 'holiday_clicks', 'weekend_clicks', 'workday_clicks']
# 稠密
dense_features = ['position', 'W', 'H', 'click_nums_all', 'click_nums_yesterday', 'user_modelMake', 'ad_click_all', 'ad_click_yesterday']
sparse_feature_columns = [SparseFeat(feat, vocabulary_size=pdtrain[feat].max() + 1)
for i, feat in enumerate(sparse_features)]
dense_feature_columns = [DenseFeat(feat, 1)
for feat in dense_features]