我目前正在尝试清理我的数据集,并希望删除相互关联的变量。我见过一些以前共享过的代码这样做,但似乎没有任何关于删除哪个变量的标准。我试图得到它,这样,与依赖项相关性较低的变量就被删除了
我的数据集的格式为:
名称|相关| 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]
目前没有回答
相关问题 更多 >
编程相关推荐