跨类的相似特征分布如何影响建模?

数据挖掘 特征选择 数据清理 特征工程 预处理
2022-03-02 23:08:46

我根据标签(好客户和坏客户)对我的数据集进行了分组,试图测试每个功能在其中的分布情况。沿着这个,我发现一些特征在两个组中几乎完全分布,并且

我想知道我可以从中学到什么见解?这是否意味着该功能对数据预测没有那么重要并且可以删除?

在此处输入图像描述

1个回答

EDA

您在那里所做的工作属于探索性数据分析 (EDA)。研究它们之间的特征以及如何在类之间分布的更好方法是相关图,有时称为对图。

相关图有助于

  • 通过每对特征的散点图研究数字特征对之间的关​​系
  • 使用对角线的直方图或密度图检查每个特征的分布。

您可以轻松地在 seaborn 中创建其中之一:

# library & dataset
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('iris')

# Basic correlogram
sns.pairplot(df, kind="scatter")
sns.plt.show()

# Annotate classes with in different colours
sns.pairplot(df, kind="scatter", hue="species")

# Use regression instead of scatter
sns.pairplot(df, kind="reg", hue="species")

在此处输入图像描述

您可以看到类可能会或可能不会形成聚类,算法可能会通过组合和转换特征来绘制超平面。

你的问题

这是否意味着该功能对数据预测没有那么重要并且可以删除?

您发布的两个绘图之间的 y 轴最大值不同,因此很难公平地目视检查。

如果该数据集中有其他更容易分离的变量,人们可能会假设该模型可能无法与该特定特征“工作”。然而,考虑到 ML 算法如何转换特征空间以使类可分离,这​​种假设 (a) 可以被认为是幼稚的,因此 (b) 不构成放弃该特征的理由。

数据集中不太有用的功能仍然可以提高模型的性能。在特征空间大得无法忍受的情况下,您可以使用降维技术(PCA、内核 PCA、自动编码器)。

删除特征通常与这些特征与基本事实的相关程度有关,例如噪声,或者它们如何影响特征重要性和模型稳定性,例如多重共线性。


图片来自:https ://stackoverflow.com/questions/59212378/how-do-i-get-the-diagonal-of-sns-pairplot