協同過濾 皮爾遜相關係數演算法

2021-08-08 20:19:06 字數 776 閱讀 5334

<?php

/** * 皮爾遜相關係數的演算法-求乘積之和

*@param array $a 使用者a商品瀏覽秒數或評分數

*@param array $b 使用者b商品瀏覽秒數或評分數

*@return int 乘積之和

*/function

multipl

($a, $b)

return

$sumfab;

}/**

* 求平方和

*@param array $a 使用者a商品瀏覽評分陣列

*@return int 平方和

*/function

sum_of_squares

($a)

$sum = 0;

foreach ($a

as$v)

return

$sum;

}/**

* 皮爾遜相關係數的演算法-求出相關係數

*@param array $a 使用者a商品瀏覽秒數或評分數

*@param array $b 使用者b商品瀏覽秒數或評分數

*@return float 相關係數

*/function

corrcoef

($a, $b)

$x = [3.3,6.5];

$y = [3.4,5.8];

print_r(corrcoef($x,$y)); // 得出結果是: 1

演算法**文章

皮爾遜相關係數

皮爾遜相關係數是比歐幾里德距離更加複雜的可以判斷人們興趣的相似度的一種方法。該相關係數是判斷兩組資料與某一直線擬合程式的一種試題。它在資料不是很規範的時候,會傾向於給出更好的結果。公式一 皮爾遜相關係數計算公式 公式二 皮爾遜相關係數計算公式 公式三 皮爾遜相關係數計算公式 公式四 皮爾遜相關係數計...

皮爾遜相關係數 如何理解皮爾遜相關係數和協方差

如果結果為正值,則說明兩者是正相關的,也就是說乙個人身高越高體重越重。如果結果為負值,就說明兩者是負相關。如果為0,則兩者之間沒有關係,身高和體重之間沒有關聯。雖然協方差能反映兩個隨機變數的相關程度 協方差大於0的時候表示兩者正相關,小於0的時候表示兩者負相關 但是協方差值的大小並不能很好地度量兩個...

皮爾遜相關係數與p值

假設有兩個變數x,y 則兩者之間的皮爾遜相關係數為 皮爾遜相關係數衡量的是兩者之間的相關關係,取值範圍為 1,1 取值為正表示正相關,取值為負表示是負相關,同時,皮爾遜相關係數衡量的是兩個變數之間的線性關係,如下圖,橫軸與縱軸變數有明顯的線性關係,由公式計算出來相關係數為 0.9836,高度相關性 ...