我有一个数据集(包括类别在内的31个特征)。这个数据集将用于分类问题。我考虑使用pandas
中的皮尔逊相关系数来检查特征之间的相关性。当我设置皮尔逊的threshold > 0.5
时,我得到了以下结果:
结果是:
Class 1.0Name: Class, dtype: float64
结果表明,所有30
个特征之间完全没有相关性。这意味着什么?这是否总是表明特征是独立的良好指标?
谢谢你。
回答:
你的假设有些错误。
举个例子:
a b Classa 1.000000 1.000000 0.288675b 1.000000 1.000000 0.288675Class 0.288675 0.288675 1.000000a 0.288675b 0.288675Class 1.000000Name: Class, dtype: float64Class 1.0Name: Class, dtype: float64
特征集a
和b
完全相同,它们的相关性为1.0,但你仍然只会得到1
。
移除类别标签,只观察中间特征之间的相关性。
观察相关性矩阵,并选择那些相关性低的特征。
a ba 1.0 1.0b 1.0 1.0
如果你想使用标签,尝试使用scikit-learn的特征重要性,https://scikit-learn.org/stable/modules/feature_selection.html