我将具有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,该怎么办,运行会花费很多时间和资源吗?