PaddlePaddle / PaddleRec

Recommendation Algorithm大规模推荐算法库,包含推荐系统经典及最新算法LR、Wide&Deep、DSSM、TDM、MIND、Word2Vec、Bert4Rec、DeepWalk、SSR、AITM,DSIN,SIGN,IPREC、GRU4Rec、Youtube_dnn、NCF、GNN、FM、FFM、DeepFM、DCN、DIN、DIEN、DLRM、MMOE、PLE、ESMM、ESCMM, MAML、xDeepFM、DeepFEFM、NFM、AFM、RALM、DMR、GateNet、NAML、DIFM、Deep Crossing、PNN、BST、AutoInt、FGCNN、FLEN、Fibinet、ListWise、DeepRec、ENSFM,TiSAS,AutoFIS等,包含经典推荐系统数据集criteo 、movielens等
https://paddlerec.readthedocs.io/
Apache License 2.0
4.26k stars 721 forks source link

使用排序模型xdeepfm,如何得到数据之间的前后顺序? #589

Closed zouhan6806504 closed 2 years ago

zouhan6806504 commented 2 years ago

目前infer.py没有做相关的输出

yinhaofeng commented 2 years ago

输入顺序即输出顺序

zouhan6806504 commented 2 years ago

输入顺序即输出顺序

不是这个意思,我说的是比如我从召回模型得出了前50,然后训练了个xdeepfm给这50个item排序,如何确定这50个item的顺序(用户最有可能点击的排在前面)。我目前改了下models\rank\xdeepfm下dygraph_model.py,将infer_forward(self, dy_model, metrics_list, batch_data, config)中pred = dy_model.forward(sparse_tensor, dense_tensor)这个概率输出作为排序依据,这么做没问题吧?

yinhaofeng commented 2 years ago

没问题