假设我有一个包含以下数据的大数据集;
username,age,sex,music_genre,sports_genre,art_genre,rating
DanTheMan,25,male,rock,football,cubsim,50
LoopyLucy,23,female,pop,null,popart,76
MadDog,33,null,pop,football,cubsim,57我想要运行整个数据集,并匹配两个用户基于̶t̶a̶S̶t̶e̶e̶̶
类型和等级相似或接近于其他人喜欢最好的匹配。性别不需要考虑,获得这一结果的最佳算法是什么?有相同数量的用户,每个人都会得到一个匹配。
我已经看过稳定的婚姻算法(Gale-Shapley),但是我会感谢别人的建议和意见。
谢谢!
发布于 2019-06-30 23:06:06
根据你的数据样本,除非你有一种更微妙的方法来衡量某一类型的不同价值之间的相似性(例如,其他一些资源表明足球更接近篮球,而不是网球),否则你唯一能使用的相似性度量方法是计算两个用户有多少相同的口味。
相似度只能是0,1,2或3,所以我不认为你真的需要聚类。您可以简单地构建一个地图,其中的关键是3“类型”列的连接,而值是具有这些品味的用户集合。有些用户可能没有完全匹配的(3种相同的类型),所以您做相同的过程,但只有两个类型的共同,然后只有一个。
https://datascience.stackexchange.com/questions/54789
复制相似问题