输入:统一为(num_user, embedding_dim).
- 将原始数据跑data_prep.py和sub_data.py,得到embedding和subreddit的数据;
- 送入similarity.py,得到recommendation;
- 送入rev_similarity.py,得到按照similarity降序排序的recommendation;
- 将recommendation(或者rev_recommendation)和subreddit数据送入eval.py,指定topk(要推荐topk个用户给每个用户),得到准确率。
- iou大于0都算准。
- 随机推荐:random_eval.py, 只提供subreddit数据,不提供recommendation,指定topk。
直接对比embedding的距离并排序(cosine, euclidean, 经过二值化处理的 jaccard)
- similarity.py
- VAE重建后用mu representation作为feature
- model.py
- train.py
- transform_emb.py
- 流程:
- 先用相应数据跑跑train.py
- 再用transform_emb变换相应数据,得到latent
- 再跑similarity
- DEC https://arxiv.org/pdf/1511.06335
- dec.py
graph_cluster.py
- 建图:根据embedding,KNN 建图
- Louvain
- Infomap
- LabelProp(效果很差)
- 相似度:key是当前node,value是和当前node最匹配的topk nodes
"1": [ { "node": 817, "sim": 0.9668042934535831 }, { "node": 715, "sim": 0.8588211330163609 }, { "node": 599, "sim": 0.8563563228457022 }, { "node": 165, "sim": 0.8538623626878953 }, { "node": 388, "sim": 0.8535572957188746 } ],
- 聚类:node_id : cluster_id
- 代码存在这里:
~/dev/dm