针对输出变量获取每个预测变量的corr系数
因此,我尝试了不同的方法来计算相关系数并绘制热图等。所有这些都为我提供了值和图,但是我无法从该数据集中提取“信息”。 我有一个庞大的数据集:50,000 X 500-大部分是稀疏数据(很多零但没有缺失值)。 我想针对输出变量获取每个预测变量的corr coef(我认为abs()会很有意义);这是一个分类问题(输出为0或1],我想选择与输出变量高度相关的要素。 完成此步骤后,我计划运行功能选择方法(例如SelectKBest)
corr = df[df.columns[1:]].corr()['OUTPUT'][:]
而且,当我在该系列上使用条件时,例如:
corr.where(corr > 0.5)
我得到了很多(很多都是)“ nan”值。
之前,我还计算了整个数据集的相关性:
df.corr()
并不完全有用
我发现另一条建议如下:
我尝试使用abs()值作为相关矩阵,但这是针对每组变量的。
so_corr = (corr.where(np.triu(np.ones(corr.shape), k=1).astype(np.bool)).stack().sort_values(ascending=False))
我想快速删除/减少功能;因此,我想保留那些与输出变量相关的变量。此外,功能名称也无济于事:col1,col2,col35等。未排序。
如果我运行:
corr = df[df.columns[1:]].corr()['OUTPUT'][:]
我想要类似的东西:
col1 0.74
col2 0.34
col3 0.0
.
.
我还希望能够选择高于或低于某个值的值:
corr.where(corr >0.6)
并能够访问列名。
有什么建议吗?