我使用以下代码获得了一个相关矩阵.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(20,4))
df = df.corr()
假设df如下
0 1 2 3
0 1.000000 -0.156813 0.294344 -0.034569
1 -0.156813 1.000000 -0.238828 0.222677
2 0.294344 -0.238828 1.000000 0.071389
3 -0.034569 0.222677 0.071389 1.000000
由于[0,1,3]和[1,2,3]内的所有相关性都在0.23以下,而[0,3],[1,2]等其他子集只包含两个元素,所以上述相关矩阵的相关性低于0.23的最大子集是[0,1,3]和[1,2,3].
如果df是200*200矩阵,找到这样的子集的最快方法是什么?勾选所有2^200种可能性太慢.