gpt4 book ai didi

python - 如何计算所有列之间的相关性并使用 Pandas 删除高度相关的列?

转载 作者:IT老高 更新时间:2023-10-28 21:08:29 25 4
gpt4 key购买 nike

我有一个庞大的数据集,在机器学习建模之前,总是建议你首先删除高度相关的描述符(列)我如何计算列的相关性并删除具有阈值的列,比如删除所有具有 >0.8 相关性的列或描述符。它也应该保留减少数据中的标题..

示例数据集

 GA      PN       PC     MBP      GR     AP   
0.033 6.652 6.681 0.194 0.874 3.177
0.034 9.039 6.224 0.194 1.137 3.4
0.035 10.936 10.304 1.015 0.911 4.9
0.022 10.11 9.603 1.374 0.848 4.566
0.035 2.963 17.156 0.599 0.823 9.406
0.033 10.872 10.244 1.015 0.574 4.871
0.035 21.694 22.389 1.015 0.859 9.259
0.035 10.936 10.304 1.015 0.911 4.5

请帮忙……

最佳答案

这里的方法对我来说效果很好,只有几行代码:https://chrisalbon.com/machine_learning/feature_selection/drop_highly_correlated_features/

import numpy as np

# Create correlation matrix
corr_matrix = df.corr().abs()

# Select upper triangle of correlation matrix
upper = corr_matrix.where(np.triu(np.ones(corr_matrix.shape), k=1).astype(np.bool))

# Find features with correlation greater than 0.95
to_drop = [column for column in upper.columns if any(upper[column] > 0.95)]

# Drop features
df.drop(to_drop, axis=1, inplace=True)

关于python - 如何计算所有列之间的相关性并使用 Pandas 删除高度相关的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29294983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com