1. 程式人生 > >集體智慧程式設計-皮爾遜相關係數程式碼理解

集體智慧程式設計-皮爾遜相關係數程式碼理解

剛開始看關於皮爾遜相關係數計算的程式碼,把我看得是暈頭轉向,不過在學習完概率論的課程後,發現結合公式再來看程式碼就會比較簡單了。

期望公式

E(x)=1ni=1nxi
方差公式
var(x)=E{[xE(x)]2}
=E{x22x×E(x)+[E(x)]}
=E(x2)2E(x)E(x)+[E(x)]2
=E(x2)[E(x)]2
期望性質
E(c)=c
因此對於上訴方差推導公式
E{2x×E(x)}=2E(x)E(E(x))=2E(x)E(x)
因為
E(x)=c

E{E(x)}=E(x)
推導方差公式有利於下面皮爾遜相關係數的推導
皮爾遜相關係數計算公式

pxy=cov(x,y)var(x)var(y)
協方差公式
cov(x,y)=E{[xE(x)][yE(y)]}
=E{XYXE(Y)YE(X)+E(X)E(Y)}
=E(XY)E(X)E(Y)
書中第三章關於皮爾遜相關係數的程式碼如下
sum1 = sum(v1)
sum2 = sum(v2)
sum1sq = sum([pow(v, 2) for v in v1])
sum2sq = sum([pow(v, 2) for v in v2])
pSum = sum([v1[i]*v2[i] for i in range(len(v1))])
num
= pSum - (sum1*sum2/len(v1)) den = sqrt((sum1sq - pow(sum1, 2)/len(v1)) * (sum2sq - pow(sum2, 2)/len(v))) if den == 0: return 0 return num/den

變數的意義(i=j)為了公式推導方便,在下面的式子中會用i代替j

sum1

sum1=i=1nxi
sum2
sum2=j=1nyj
sum1sq
sum1Sq=i=1nx2i
sum2sq
sum2sq=j=1nyj2
psum
psum=i=1nxiyi
num
num=i
=1
n
xiyi/ni=1nxi

相關推薦

集體智慧程式設計-相關係數程式碼理解

剛開始看關於皮爾遜相關係數計算的程式碼,把我看得是暈頭轉向,不過在學習完概率論的課程後,發現結合公式再來看程式碼就會比較簡單了。 期望公式 E(x)=1n∑i=1nxi 方差公式 var(x)=

Pearson()相關係數

統計相關係數簡介     由於使用的統計相關係數比較頻繁,所以這裡就利用幾篇文章簡單介紹一下這些係數。   相關係數:考察兩個事物(在資料裡我們稱之為變數)之間的相關程度。   如果有兩個變數:X、Y,最終計算出的相關係數的含義可以

相關係數和餘弦相似度

先看看二者定義,給定兩個n維向量A,B: A=(a1,a2,…,an)A = (a_1, a_2, \ldots ,a_n)A=(a1​,a2​,…,an​) B=(b1,b2,…,bn)B = (b_1, b_2, \ldots ,b_n)B=(b1​,b2​

【126】TensorFlow 使用相關係數找出和標籤相關性最大的特徵值

在實際應用的時候,我們往往會收集多個維度的特徵值。然而這些特徵值未必都能派上用場。有些特徵值可能和標籤沒有什麼太大關係,而另外一些特徵值可能和標籤有很大的相關性。相關性不大的特徵值對於訓練模型沒有太大用處,還會影響效能。因此,最佳方式是找到相關性最大的幾個特

推薦演算法之-相關係數計算兩個使用者喜好相似度

<?php /** * 餘玄相似度計算出3個使用者的相似度 * 通過7件產品分析使用者喜好相似度 * 相似度使用函式 sim(user1,user2) =cos∂ * * 設A、B為多維

如何通俗易懂地理解相關係數

要理解 Pearson 相關係數,首先要理解協方差(Covariance)。協方差表示兩個變數 X,Y 間相互關係的數字特徵,其計算公式為: COV(X,Y)=1n−1∑n1(Xi−X⎯⎯⎯)(Yi−Y⎯⎯⎯) 當 Y = X 時,即與方差相同。當變數 X,

資料探勘之曼哈頓距離、歐幾裡距離、明氏距離、相關係數、餘弦相似度Python實現程式碼

# -*- coding:utf8 -*- from math import sqrt users = {"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0, "Norah Jones": 4.5, "Phoeni

相關係數 定義+python程式碼實現 (與王印討論公式)

作者簡介 南京大學,簡稱南大,[1] 是一所源遠流長的高等學府。追溯學脈古為源自孫吳永安元年的南京太學,歷經多次變遷,1949年“國立中央大學”易名“國立南京大學”,翌年徑稱“南京大學”,沿用至今。南京大學是教育部與江蘇省共建的全國重點大學,國家首批“211工程”、“9

利用相關係數找出與目標最相關的特徵(Python實現)

#coding:utf-8 #檢測各特徵和輻照度之間的相關性以及各個特徵之間的相關性 from __future__ import division import tensorflow as tf import math import csv from sklearn imp

相關係數的計算(python程式碼版)

作者簡介 南京大學,簡稱南大,[1] 是一所源遠流長的高等學府。追溯學脈古為源自孫吳永安元年的南京太學,歷經多次變遷,1949年“國立中央大學”易名“國立南京大學”,翌年徑稱“南京大學”,沿用至今。南京大學是教育部與江蘇省共建的全國重點大學,國家首批“211工程”、“9

marchine learning 之 相關係數

/**皮爾遜相關係數 * ρ =(∑xy - ∑x∑y/n)/(∑x^2 - (∑x)^2/n)(∑y^2-(∑y)^2/n)^0.5 */ public class PersonCorrelati

①協方差、相關係數相關係數),等同於:內積、餘弦值。

假設三維空間裡有很多點,每個點都是用三個維度來表示的。但你發現其實他們差不多都在同一個二維平面上。雖然不是完全在一個平面上,但距離那個平面的距離都很小,遠小於他們在這個平面上的互相距離。於是你想,如果把所有點都投影到這個二維平面,那你就可以用兩個維度來表示所有點,同時又不損失太多關於這些點的資訊。當你這麼做的

相似度演算法之相關係數

皮爾遜相關係數是比歐幾里德距離更加複雜的可以判斷人們興趣的相似度的一種方法。該相關係數是判斷兩組資料與某一直線擬合程式的一種試題。它在資料不是很規範的時候,會傾向於給出更好的結果。   如圖,Mick Lasalle為<<Superman>>評了3分

【機器學習】歐幾里德距離和相關係數(筆記)

歐幾里德距離() 歐幾里德距離和皮爾遜相關係數在機器學習中都是對相關度的計算,歐幾里德距離是以人們一直評價的物品作為座標軸,將參與評價的人繪製到圖中,並考察他們彼此距離的遠近。例子(摘自集體智慧程式設計): #資料集 critics={ 'Lisa Rose':

Spark/Scala實現推薦系統中的相似度演算法(歐幾里得距離、相關係數、餘弦相似度:附實現程式碼

在推薦系統中,協同過濾演算法是應用較多的,具體又主要劃分為基於使用者和基於物品的協同過濾演算法,核心點就是基於"一個人"或"一件物品",根據這個人或物品所具有的屬性,比如對於人就是性別、年齡、工作、收入、喜好等,找出與這個人或物品相似的人或物,當然實際處理中參考的因子會複雜的多。 本篇文章不介紹相關數學概念,

相關系數理解

IT sel 開發 網站 依次 高中數學 開平 func 1.4 皮爾遜相關系數理解有兩個角度 其一, 按照高中數學水平來理解, 它很簡單, 可以看做將兩組數據首先做Z分數處理之後, 然後兩組數據的乘積和除以樣本數 Z分數一般代表正態分布中, 數據偏離中心點的距離.等於

相關系數

評價 item product reference ret calculate ati ack 相關系數 皮爾遜相關系數是比歐幾裏德距離更加復雜的可以判斷人們興趣的相似度的一種方法。該相關系數是判斷兩組數據與某一直線擬合程序的一種試題。它在數據不是很規範的時候,會傾向於給出

相關系數和余弦相似性的關系

表現 差值 超過 商業 C4D 接下來 二維空間 相關 畢業 有兩篇回答,我覺得都是正確的,從不同的方向來看的。 作者:陳小龍鏈接:https://www.zhihu.com/question/19734616/answer/174098489來源:知乎著作權歸作者

【Python學習筆記】使用Python計算相關系數

自己 pre 求和 相關 學習筆記 python學習 tip urn pow 源代碼不記得是哪裏獲取的了,侵刪。此處博客僅作為自己筆記學習。 def multipl(a,b): sumofab=0.0 for i in range(len(a)):

相關係數演算法

  皮爾森相關係數(Pearson correlation coefficient)也稱皮爾森積矩相關係數(Pearson product-moment correlation coefficient) ,是一種線性相關係數。皮爾森相關係數是用來反映兩個變數線性相關程度的統計量。相關係數用r表示,其中n為樣本