如何计算所有特征与目标变量(二元分类器,python 3)的相关性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何计算所有特征与目标变量(二元分类器,python 3)的相关性?相关的知识,希望对你有一定的参考价值。

我想在python中计算我所有特征(所有浮点类型)和类标签(二进制,0或1)的相关性。另外,我想绘制数据以按类别可视化它们的分布。

这是必需的,因此我可以找到与单个标签相关的功能并找出它们的真正重要性。请注意,我不希望成对特征关联,并且我的分类器是二进制的。

我已经尝试了以下(来自stackoverflow中的类似帖子)但它并不完全是我想要的。

df.drop("Target", axis=1).apply(lambda x: x.corr(df.Target)) 

请在附图中看到一个特征(来自Weka)的分布情况。

其中一个特征Class distribution for one of the features的类分布

任何反馈都非常感谢。

答案

相关不应该用于分类变量。有关更多说明,请参阅here

您可以使用以下方法了解自变量和目标变量之间的关系。

from sklearn.datasets import load_breast_cancer
data  = load_breast_cancer(return_X_y=False)

import pandas as pd

df=pd.DataFrame(data.data[:,:5])
df.columns = data.feature_names[:5]

df['target'] = data.target.astype(str)

import seaborn as sns;
import matplotlib.pyplot as plt
g= sns.pairplot(df,hue = 'target', diag_kind= 'hist',
             vars=df.columns[:-1],
             plot_kws=dict(alpha=0.5), 
             diag_kws=dict(alpha=0.5))
plt.show()

enter image description here

以上是关于如何计算所有特征与目标变量(二元分类器,python 3)的相关性?的主要内容,如果未能解决你的问题,请参考以下文章

sklearn 如何计算二元分类器的 roc 曲线下面积?

强制随机森林分类器使用所有输入特征?

如何估计二元分类器所需的内存量?

如何通过简单的模拟模型生成人工数据集,用于具有二元响应和 4-5 特征的分类分析? [关闭]

如何推导出二元分类问题中的主要影响因素

当预测变量不是二进制时,Sklearn 朴素贝叶斯伯努利分类器如何工作?