介绍一个简单办法来计算相似度,使用欧几里德距离这个办法,看上去名字挺大,其实最后用的是勾股定理。
2010-01-11 11:44:00
小例子:
a:对《天龙八部》的打分为8,对《英国文学》的对分为3
b:对《天龙八部》的打分为4,对《英国文学》的对分为6
c:对《天龙八部》的打分为6,对《英国文学》的对分为2
根据数据,画出一个图,如下:
每一个点之前的距离就是两个点之前的连线,当完成连线后,就构成一个三角型了,图如下:
这个时候要算出a与b之前的距离就很简单了,
(8-4)的平方加上(3-6)的平方,然后再求平方根,得5
根据这个办法再得到a与c的距离,b与c的距离,数值越小相似度越高。
当然想要商业应用就要对比大量的数据,这时候就要抽样了,如果想要最公平的抽样,就要尽可能的随机抽样,随机达到尽可能平均分布,这样才能更真实。计算量可能会非常大,这个办法可能就有点不实用了。