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

2024-06-16 13:17:16 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我的数据集的格式为:

名称|相关| 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]

Tags: columns数据代码inimportifascol