當前位置:
首頁 > 最新 > 機器學習特徵工程之皮爾森相關係數 pearson correlation of features

機器學習特徵工程之皮爾森相關係數 pearson correlation of features

示例圖:

皮爾森相關係數為了確定 每個特徵之間是否緊密相關,如果很相關就屬於重複特徵,可以去除。 我們輸入機器學習模型中的每個特徵都獨一無二,這才是最佳。

python實現代碼

import seaborn as sns #圖表模塊

import matplotlib.pyplot as plt #繪圖模塊庫

colormap = plt.cm.RdBu # 繪圖庫中的顏色查找表。比如A1是紅色,A2是淺藍色。 這樣一種映射關係

plt.figure(figsize=(14,12))#創建一個新的圖表,參數是尺寸,單位為英寸。

plt.title("Pearson Correlation of Features", y=1.05, size=15) #給圖表一個標題~~

sns.heatmap(train.astype(float).corr(),linewidths=0.1,vmax=1.0,square=True, cmap=colormap, linecolor="white", annot=True) #將皮爾森係數值畫成圖表形式。

代碼解釋:

這裡的train.astype(float).corr() 中的train 是python pandas模塊中DateFrame結構,這裡存儲著的是機器學習模型的訓練數據, 然後通過.corr()求皮爾森相關係數方法,計算出相關係數。

corr()是correlation的縮寫,中文意思為相關。

演算法底層原理:

皮爾森係數公式為:

cov(X,Y) 是求X數組和Y數組的協方差。

協方差公式為:

當協方差值>0時,表明兩個數組正相關

當協方差值=0時,表明兩個數不相關

當協方差值

回到皮爾森相關係數,現在我們已經知道了 協方差計算出了 相關性,但是只知相關性,而無法度量它強和弱,

如何度量強和弱呢?

這是用協方差/(X數組的標準差*Y數組的標準差),

這個公式的作者是否從餘弦距離得到的啟發呢?如下圖

最終我們計算出了-1 到 1 的取值結果。

公式求的值對應下面圖表(省略了x軸和y軸,自行腦補。。),例如1和-1 他們就是線性相關,一個是正相關,一個負相關,而0就是沒有任何關係的

這樣我們就求得了兩個數組之間的關係程度,排除強相關特徵,降低機器學習數據維度,從而得到更好的模型。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

人人都能看懂的機器學習!3個案例詳解聚類、回歸、分類演算法
機器學習頂會 ICML 2018 開始了

TAG:機器學習 |