使用相关矩阵选择变量(特征)

时间:2019-08-09 17:36:29

标签: python-3.x numpy feature-selection

我将具有abcdef的关联矩阵作为模型的特征:

arr = np.array([[1., 0.023, 0.190, 0.187, 0.181, 0.033], [0.023, 1., 0.007, 0.010, 0.018, 0.034], 
               [0.190, 0.007, 1. , 0.958, 0.922, 0.069], [0.187, 0.010, 0.958, 1. , 0.961, 0.056], 
               [0.181, 0.018, 0.922, 0.961, 1. , 0.059], [0.033 , 0.034, 0.069, 0.056, 0.059, 1.]]) 
data = pd.DataFrame(arr, columns = ['a', 'b', 'c', 'd', 'e', 'f'], index = ['a', 'b', 'c', 'd', 'e', 'f'])

       a      b      c      d      e      f
a  1.000  0.023  0.190  0.187  0.181  0.033
b  0.023  1.000  0.007  0.010  0.018  0.034
c  0.190  0.007  1.000  0.958  0.922  0.069
d  0.187  0.010  0.958  1.000  0.961  0.056
e  0.181  0.018  0.922  0.961  1.000  0.059
f  0.033  0.034  0.069  0.056  0.059  1.000

那么,如何计算或获得阈值= 0.4的这些特征的组合,并至少选择2个变量。例如:c和e之间的相关性是0.922> 0.4,因此c和e不应包含在所选变量中。

选择变量后,我想要具有这样的结果表(仅作为示例,在计算时可能会有不同的结果):

          var_list  num_var
0        [a, b, f]        3
1     [a, b, d, e]        4
2  [a, b, d, e, f]        5

如果功能数量超过30,该怎么办,运行会花费很多时间和资源吗?

0 个答案:

没有答案