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

问题描述 投票:2回答:1

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

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

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

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

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

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

任何反馈都非常感谢。

python-3.x pandas scikit-learn
1个回答
1
投票

相关不应该用于分类变量。有关更多说明,请参阅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

© www.soinside.com 2019 - 2024. All rights reserved.