🗒️音乐推荐系统3
type
status
date
slug
summary
tags
category
icon
password
上一节如果你能成功运行的话,那说明模块安装成功,并且可以调用cuda。可以观察到,数据集ML其实就是一个打分表,总共有三个信息存在表里,分别是user_id,item_id和rating。
在召回阶段,我们面临的问题是数据量大,且信息多,同时又要求快速得到一定数量(≤1000)的推荐结果。所以我们通常在召回阶段使用大量的数据样本和极少的特征,在排序阶段使用极少的数据样本和更多的特征信息。
我们现在使用FM做召回,那么我们就使用上回用点击量之比生成的评分矩阵作为召回阶段的数据,并将数据存为user_item_rating.csv。
有个地方需要注意,在读取数据的时候,我是按照模板里的20M的数据集读取的,但是在读取的时候他会把>3的置为1,≤3置为0,所以需要把这里注释一下:(感谢@sj_swust@163.com指出)torchfm\dataset\movieslens.py
实现部分:
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 88/88 [00:27<00:00, 3.17it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:27<00:00, 2.54s/it]
epoch: 1 validation: auc: 0.6026722468803025
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 88/88 [00:27<00:00, 3.19it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:25<00:00, 2.28s/it]
epoch: 2 validation: auc: 0.749500973111392
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 88/88 [00:28<00:00, 3.14it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:28<00:00, 2.59s/it]
epoch: 3 validation: auc: 0.7834292826756357
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 88/88 [00:27<00:00, 3.20it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:27<00:00, 2.53s/it]
epoch: 4 validation: auc: 0.7891422356719974
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 88/88 [00:27<00:00, 3.15it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:26<00:00, 2.44s/it]
epoch: 5 validation: auc: 0.78821793394769
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 88/88 [00:27<00:00, 3.17it/s]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:27<00:00, 2.50s/it]
epoch: 6 validation: auc: 0.7858989371820295
validation: best auc: 0.7891422356719974
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:29<00:00, 2.70s/it]
test auc: 0.7911789023052846
可以看到,最终的AUC在0.79左右
Loading...