Clustering的字符串数组之间的距离计算

时间:2014-05-08 11:16:29

标签: cluster-analysis

我正在尝试建立一个推荐系统,根据他/她的兴趣(大学项目)向用户推荐朋友。 我准备了用户详细信息和用户兴趣的数据集(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或分层算法)。

我希望输出是用户群,使他们感兴趣的数组匹配。

即使经过大量搜索,我也无法在网上找到满意的结果。

关于如何为这样的字符串数组制作距离矩阵的任何想法?

1 个答案:

答案 0 :(得分:0)

不要处理原始数据。

提取功能,例如使用词袋矢量空间模型和TF-IDF加权。