先决条件–数据挖掘中的距离度量
在数据挖掘中,相似性度量是指距离,其距离表示数据集中数据对象的特征。如果该距离较小,则将具有较高的相似度,但是当距离较大时,将具有较低的相似度。
一些流行的相似性措施是–
- 欧氏距离。
- 曼哈顿距离。
- Jaccard相似度。
- Minkowski距离。
- 余弦相似度。
余弦相似度是一个度量标准,有助于确定数据对象的相似程度,无论其大小如何。我们可以使用余弦相似度来测量Python两个句子之间的相似度。在余弦相似度中,数据集中的数据对象被视为向量。查找两个向量之间的余弦相似度的公式为–
Cos(x, y) = x . y / ||x|| * ||y||
在哪里,
- X 。 y =向量“ x”和“ y”的乘积(点)。
- || x ||和|| y || =两个向量“ x”和“ y”的长度。
- || x || * || y || =两个向量“ x”和“ y”的叉积。
例子 :
考虑一个使用余弦相似度来找到两个向量“ x”和“ y”之间相似度的示例。
“ x”向量具有值x = {3,2,0,5}
“ y”向量的值为y = {1,0,0,0}
余弦相似度的计算公式为: Cos(x,y)= x。 y / || x || * || y ||
x . y = 3*1 + 2*0 + 0*0 + 5*0 = 3
||x|| = √ (3)^2 + (2)^2 + (0)^2 + (5)^2 = 6.16
||y|| = √ (1)^2 + (0)^2 + (0)^2 + (0)^2 = 1
∴ Cos(x, y) = 3 / (6.16 * 1) = 0.49
两个向量“ x”和“ y”之间的差异由下式给出:
∴ Dis(x, y) = 1 - Cos(x, y) = 1 - 0.49 = 0.51
- 两个向量之间的余弦相似度以“θ”表示。
- 如果θ= 0°,则“ x”和“ y”向量重叠,从而证明它们是相似的。
- 如果θ= 90°,则“ x”和“ y”向量不相同。
好处 :
- 余弦相似度是有益的,因为即使两个相似的数据对象由于大小而相距欧几里德距离,它们之间仍然可能具有较小的角度。角度越小,相似度越高。
- 当在多维空间上绘制时,余弦相似度捕获数据对象的方向(角度),而不捕获幅度。