Python中与依赖项的相关性最低的成对相关和删除变量

Python中与依赖项的相关性最低的成对相关和删除变量,python,pandas,correlation,feature-selection,pairwise,Python,Pandas,Correlation,Feature Selection,Pairwise,我目前正在尝试清理我的数据集,并希望删除相互关联的变量。我见过一些以前共享过的代码这样做,但似乎没有任何关于删除哪个变量的标准。我试图得到它,这样,与依赖项相关性较低的变量就被删除了 我的数据集的格式为: 名称|相关| x1 | x2 | x3 | xn| 到目前为止我已经试过了,但似乎不起作用。任何关于如何更改我的代码的建议都将不胜感激 import pandas as pd import numpy as np dataset = pd.read_csv('tetrahymena_pade

我目前正在尝试清理我的数据集,并希望删除相互关联的变量。我见过一些以前共享过的代码这样做,但似乎没有任何关于删除哪个变量的标准。我试图得到它,这样,与依赖项相关性较低的变量就被删除了

我的数据集的格式为:

名称|相关| x1 | x2 | x3 | xn|

到目前为止我已经试过了,但似乎不起作用。任何关于如何更改我的代码的建议都将不胜感激

import pandas as pd
import numpy as np

dataset = pd.read_csv('tetrahymena_padel_withDep.csv')
dataf1 = dataset.drop(['Name'], axis = 1)
dataf2 = dataset.drop(['Name', 'Dependent'], axis = 1)

corrWithDep = dataf1.corr().iloc[0]
corrWithVar = dataf2.corr()

col_corr = set()

for i in range(len(corrWithVar.columns)):
    for j in range(i):
        if (corrWithVar.iloc[i, j] >= 0.9) and (corrWithVar.columns[j] not in col_corr):
            if (corrWithDep.iloc[i] >= corrWithDep.iloc[j]):
                colname = corrWithVar.columns[j]
                col_corr.add(colname)
            else:
                colname = corrWithVar.columns[i]
                col_corr.add(colname)
            
                if colname in dataset.columns:
                    del dataset[colname]