我对于数据挖掘和推荐系统比较陌生,现在正试图为拥有以下参数的用户构建某种类型的推荐系统:
- 城市
- 教育程度
- 兴趣
为了计算它们之间的相似度,我将应用余弦相似度和离散相似度。例如:
- 城市:如果 x = y,则 d(x,y) = 0。否则,d(x,y) = 1。
- 教育程度:我将使用余弦相似度,因为它们在专业或学士学位的名称中出现。
- 兴趣:用户可以选择一定数量的兴趣并且将根据两个向量计算余弦相似度,如下所示:
1 0 0 1 0 0 ... n
1 1 1 0 1 0 ... n
其中,1
表示兴趣存在,n
是所有兴趣的总数。
我的问题是: 如何以适当的顺序组合这三个相似性?仅仅将它们相加听起来不太聪明,对吧?同时,我也想听听关于我的“新手相似性系统”的意见,哈哈。