我正在尝试建立一个推荐系统,根据他/她的兴趣(大学项目)向用户推荐朋友。 我准备了用户详细信息和用户兴趣的数据集(csv文件): 它们的格式为:
"abcd","pqr","abcd@xyz.com","adf332" //userDetail
"Henry","Clifford","henrycliffordhenry.clifford@gzcz.com","sa1xVP" //userDetail
在另一个档案中:
"Henry","Clifford","Painting Photography EDM Algorithms Squash Graffiti Folk-music Badminton" //User interests
现在我想根据用户兴趣之间的相似性对用户进行聚类。 我想以这样的方式进行,即将整个兴趣字符串与另一个用户进行比较,而不是单独进行(这需要花费很多时间)。 我有大约1,700,000个用户的数据。 我一直在计算我可以在聚类算法中使用的用户的距离矩阵。
我尝试了Levenshtein距离,但这不会起作用,因为兴趣数组[ a,b,c,d]
不等于[c,d,b,a]
此外,我对哪个算法最适合此目的感到困惑(k-means,fuzzy-cmeans或分层算法)。
我希望输出是用户群,使他们感兴趣的数组匹配。
即使经过大量搜索,我也无法在网上找到满意的结果。
关于如何为这样的字符串数组制作距离矩阵的任何想法?
答案 0 :(得分:0)
不要处理原始数据。
提取功能,例如使用词袋矢量空间模型和TF-IDF加权。