主权项 |
一种基于用户和项目混合的协同过滤算法,其特征在于,包括以下步骤:步骤1:对用户‑项目评分数据集进行整理,建立用户‑项目评分矩阵U;步骤2:计算皮尔逊系数,计算物品之间的相似度,并将相似度按照从大到小进行排序,皮尔逊系数计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mo>Σ</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>∈</mo><mi>N</mi></mrow></munder><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>‾</mo></mover><mi>u</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>‾</mo></mover><mi>u</mi></msub><mo>)</mo></mrow></mrow><mrow><msqrt><mrow><msub><mo>Σ</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>∈</mo><mi>N</mi></mrow></msub><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>‾</mo></mover><mi>u</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><msqrt><mrow><msub><mo>Σ</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>∈</mo><mi>N</mi></mrow></msub><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>‾</mo></mover><mi>u</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow></mfrac></mrow>]]></math><img file="FDA0000989030500000011.GIF" wi="1166" he="239" /></maths>其中N表示用户评分的项目,表示用户u对项目i的评分,表示用户u对项目评分的平均值;步骤3:根据物品之间的相似度排序,产生物品的“最近邻居N”,利用最近邻居N预测用户T对其他物品的评分;步骤4:采用步骤2得出的皮尔逊系数,计算目标用户T与其他用户之间的相似度,并将相似度按照从大到小的顺序进行排序;步骤5:根据用户之间的相似度排序,产生用户的“最近邻居K”,利用最近邻居K预测用户T对其他物品的评分;步骤6:综合利用物品相似度和利用用户相似度得到的评分,如果目标用户对物品的评分预测既在“最近邻居N”中,又在“最近邻居K”中,则对预测评分进行加权计算,得到利用物品相似度和用户相似度组合的“最近邻居X”和预测评分;步骤7:据最近邻居X的排序,按照预测评分从大到小的排序输出top‑N推荐项目集。 |