在计算用户相似度的过程中,首先对于两个用户共同打分过的所有条目,计算他们对于每个条目的评分差值,对差值求平方、求和,再对结果求平方根,这样得到的值称为欧氏距离,但这并不足以作为显示度计算的度量值。相似度与距离的概念在某种程度上说是互反的,就其意义而言,欧氏距离越小,两个用户相似度就越大。相似度与距离这种反序关系很容易就可以调整过来,比如只要第一显示度为欧氏距离加1,再取倒数。
02data.php
$data = array(
'Frank'=>array(
'Tears'=>5,
'La'=>4,
'Robinson'=>5,
'Yesterday'=>4,
'Wizard'=>5,
'Mozart'=>5,
'Bethoven'=>5
),
'Constantine'=>array(
'Tears'=>5,
'Fiddler'=>5,
'Robinson'=>5,
'Wonderful World'=>4,
'Wizard'=>4,
'Let It Be'=>5,
'Mozart'=>5
),