作者:杰少
Kaggle競賽知識點--Pearson Correlation!
簡 介
Pearson相關性在采用線性模型建模時是必不可少的一種建模策略,它不僅可以用來判斷特征與目標變量之間的關系,與此同時還可以對冗余特征進行篩選,其對于特征之間相關性的篩選在我嘗試的所有競賽中基本都帶來了很不錯的提升。即使沒有提升,效果在刪去了很多特征之后效果并沒有下降。Pearson相關系數的計算是非常簡單而且實用的。
在一些統計學的博客中,大家認為:
完美:如果值接近± 1,那么這就是一個完美的相關性:當一個變量增加時,另一個變量也趨向于增加(如果是正的)或減少(如果是負的)。
高度相關:如果系數值介于± 0.50和± 1,那么就說這是一個很強的相關性。
中度相關:如果值介于± 0.30和± 0.49,則稱為中等相關性。
低度相關:當值低于± 0.29時,則表示相關性很小。
無相關性:當值為零時。
到目前為止,Pearson Correlation的方法依然是我所有競賽中都必須會嘗試的策略之一。
Pearson Correlation
Pearson Correlation系數的計算
代碼
1. 特征標簽的篩選
import?pandas?as?pd?
import?numpy?as?np???
#?構建數據集
df?=?pd.DataFrame()
df['f1']?=?[1,0,0,0,0]?*?10
df['f2']?=?[1,1,0,0,0]?*?10
df['f3']?=?[-1,-2,-3,-4,-5]?*?10
df['y']??=?[1,1,0,0,0]?*?10
def?Pearson_cor_Selector(X,?y,num_feats):cor_list?????=?[]feature_name?=?X.columns.tolist()#?calculate?the?correlation?with?y?for?each?featurefor?i?in?X.columns.tolist():cor?=?np.corrcoef(X[i],?y)[0,?1]cor_list.append(cor)scores?=?pd.DataFrame({'fea':feature_name,?'score':cor_list})#?replace?NaN?with?0cor_list?=?[0?if?np.isnan(i)?else?i?for?i?in?cor_list]#?feature?namecor_feature?=?X.iloc[:,np.argsort(np.abs(cor_list))[-num_feats:]].columns.tolist()#?feature?selection??0?for?not?select,?1?for?selectcor_support?=?[True?if?i?in?cor_feature?else?False?for?i?in?feature_name]return?scores,?cor_featurescores,?cor_feature?=?Pearson_cor_Selector(df[['f1','f2','f3']],?y?=?df['y'].values,num_feats?=?2)
print(str(len(cor_feature)),?'selected?features')
2 selected features
cor_feature
['f3', 'f2']
scores
feascore|
0| f1 | 0.612372 |
1| f2 | 1.000000 |
2| f3 | 0.866025 |
2. 標簽標簽的篩選
df['f2_bar']?=?df['f2'].values?
def?Pearson_cor_Selector2(X1,?X2,?threshold?=?0.99):?'''X1,X2:兩個不同的特征值threshold:閾值'''is_redundancy?=?0cor?=?np.corrcoef(X1,?X2)[0,?1]if?cor?>=?threshold:is_redundancy?=?1return?is_redundancy
Pearson_cor_Selector2(df['f2'].values,?df['f2_bar'].values)
1
Pearson_cor_Selector2(df['f3'].values,?df['f2_bar'].values)
0
適用問題
Pearson Correlation目前一般多用于連續特征變量之間的相關性計算,針對類別特征,尤其是無序的類別特征,需要進行特定的編碼轉化之后效果會好些,如果是使用線性模型進行的建模,Pearson Correlation的使用基本就成了必然,而且大多數情況下,都是有不錯提升的。
參考文獻
The 5 Feature Selection Algorithms every Data Scientist should know
https://www.youtube.com/watch?v=lVOzlHx_15s
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯
AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻
本站qq群851320808,加入微信群請掃碼:
總結
以上是生活随笔為你收集整理的【数据竞赛】百赛百试,十试九灵的特征筛选策略-Pearson Correlation的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。