上一篇文章讲到使用方差选择特征,这篇文章主要是使用 pearson 系数进行特征选择

使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的 P 值

相关系数的计算公式如下:

s=∑ni=0(xi−¯¯¯x)∗(yi−¯¯¯y)√∑ni=0(xi−¯¯¯x)2∗∑ni=0(yi−¯¯¯y)2s=∑i=0n(xi−x¯)∗(yi−y¯)∑i=0n(xi−x¯)2∗∑i=0n(yi−y¯)2

sklearn 函数

from sklearn.feature_selection import SelectKBestfrom scipy.stats import pearsonrfrom numpy import vstack, array, nanSelectKBest(lambda X, Y: tuple(map(tuple,array(list(map(lambda x:pearsonr(x, Y), X.T))).T)), k=2).fit_transform(irisdata.data, irisdata.target)
部分实验结果如下array([[ 1.4,  0.2],       [ 1.4,  0.2],       [ 1.3,  0.2],       [ 1.5,  0.2],       [ 1.4,  0.2],       [ 1.7,  0.4],       [ 1.4,  0.3],       [ 1.5,  0.2],

Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明特征选择(2)-相关系数法!

发表回复