2、互信息(Mutual Information)

文章目录

  • 1、简介
  • 2、互信息及其测量内容
  • 3、解读互信息得分
  • 4、例子 - 1985年的汽车

1、简介

首次遇到新的数据集可能会让人感到不知所措。你可能会面对数百甚至数千个特征,甚至没有描述可以参考。你应该从哪里开始呢?

一个很好的第一步是构建一个特征效用度量的排名,这是一个衡量特征和目标之间关联性的函数。然后,你可以选择一小部分最有用的特征进行初步开发,这样可以更有信心地投入你的时间。

我们将使用的度量标准称为"互信息"。互信息很像相关性,因为它衡量了两个量之间的关系。互信息的优点是它可以检测任何类型的关系,而相关性只能检测线性关系。

互信息是一个很好的通用度量标准,特别适用于特征开发的开始阶段,当你可能还不知道你想要使用什么模型时。它是:

  • 易于使用和解释,
  • 计算效率高,
  • 理论上有良好的基础,
  • 能够抵抗过拟合,以及,
  • 能够检测任何类型的关系

2、互信息及其测量内容

互信息以不确定性的形式描述关系。两个量之间的互信息(MI)是衡量一个量的知识减少对另一个量的不确定性的程度的度量。如果你知道一个特征的值,你对目标的信心会增加多少?

下面是一个来自Ames Housing数据的例子。该图显示了房屋的外部质量与其售价之间的关系。每个点代表一栋房屋。
2、互信息(Mutual Information)_第1张图片

了解房屋的外观质量可以减少其售价的不确定性。

ExterQual有四个类别:公平,典型,良好,优秀。SalePrice在每个类别中的散点图。 知道房屋的外部质量可以减少对其售价的不确定性。 从图中,我们可以看到,知道ExterQual的值应该让你对相应的SalePrice更有把握——ExterQual的每个类别都倾向于将SalePrice集中在一定的范围内。ExterQual与SalePrice的互信息是在ExterQual的四个值上取的SalePrice的不确定性的平均减少量。例如,由于公平出现的次数少于典型,所以公平在MI得分中的权重较小。

(技术说明:我们所说的不确定性是用信息理论中的一个量,即"熵"来衡量的。一个变量的熵大致意味着:"你需要提出多少个是或否的问题来描述该变量的一个事件,平均来说。"你必须提出的问题越多,你对变量的不确定性就越大。互信息是你期望特征能回答关于目标的问题的数量。)

3、解读互信息得分

两个量之间可能的最小互信息是0.0。当MI为零时,两个量是独立的:它们不能告诉你关于另一个的任何信息。相反,理论上MI可以是任何值。然而,在实践中,超过2.0左右的值是不常见的。(互信息是一个对数量,所以它增加得非常慢。)

下图将给你一个关于MI值如何对应于特征与目标的关联性的类型和程度的想法。
2、互信息(Mutual Information)_第2张图片
左图:随着特征和目标之间的依赖性变得更紧密,互信息增加。右图:互信息可以捕捉到任何类型的关联(不仅仅是线性的,像相关性那样)。

在应用互信息时,有一些事情需要记住:

  • MI可以帮助你理解一个特征作为目标的预测器的相对潜力,单独考虑。
  • 一个特征在与其他特征交互时可能非常有信息量,但是单独来看可能不那么有信息量。MI不能检测特征之间的交互。它是一个单变量度量。
  • 一个特征的实际用途取决于你与之一起使用的模型。一个特征只有在它与目标的关系是你的模型可以学习的范围内才有用。仅仅因为一个特征有一个高的MI得分并不意味着你的模型就能够利用这个信息。你可能需要首先转换特征来暴露关联。

4、例子 - 1985年的汽车

汽车数据集包括1985年型号的193辆汽车。这个数据集的目标是从汽车的23个特征(如制造商、车身样式和马力)预测汽车的价格(目标)。在这个例子中,我们将用互信息对特征进行排名,并通过数据可视化来研究结果。

In [1]:

import matplotlib.pyplot 

你可能感兴趣的:(数据特征工程,Feature,Engineering,python,特征工程,机器学习,数据分析)