数据挖掘中的冗余与关联

2025年3月17日 | 阅读 3 分钟

在本文中,我们将通过一些示例来学习数据挖掘中的冗余和相关性。

什么是数据冗余?

数据挖掘中,在数据集成期间,使用了许多数据存储。这可能导致数据冗余。如果一个属性可以从任何一组属性中推导出来,则该属性被称为冗余属性。 让我们考虑一下,我们有一组数据,其中有 20 个属性。现在假设,在 20 个属性中,一个属性可以从其他一些属性集中推导出来。 这种可以从其他属性集中推导出来的属性称为冗余属性。 属性或维度命名的不一致性可能导致数据集中出现冗余。

让我们通过一个例子来理解这个概念。

假设我们有一个数据集,其中有三个属性 - pizza_name, is_veg, is_nonveg

  1. Is_veg 为 1;如果选择的披萨是素食披萨,则为 0。
  2. Is_nonveg 为 1;如果选择的披萨是非素食披萨,则为 0。
Pizza_nameIs_vegIs_nonveg
农家披萨10
蔬菜盛宴10
鸡肉香肠01
非素食至尊01
鸡肉嘉年华01
蔬菜狂欢10
豪华蔬菜10

在分析上表后,我们发现,如果一个披萨不是素食(即,is_veg 为 0 选择 pizza_name),那么这个披萨肯定是非素食(因为 pizza_name 输出类只有两个值 - 素食和非素食)。 因此,这些属性之一变得冗余。 这意味着这两个属性彼此非常相关,并且一个属性可以找到另一个属性。 因此,您可以删除第一个或第二个属性,而不会丢失任何信息。

数据冗余的检测

以下方法用于检测冗余

  1. X2 检验
  2. 相关系数和协方差

X2 检验

X2 检验用于定性或名义数据或分类数据。 它在定性数据上执行。 让我们假设我们有 X 和 Y 两个属性,在数据集中。 为了表示数据元组,您必须制作一个列联表。

给定公式用于 X2 检验。

Redundancy and Correlation in Data Mining

其中,

观察值是实际计数。

期望值是从列联表联合事件中获得的计数。

X2 检验检验 X 和 Y 不独立的假设。 如果可以拒绝这个假设,我们可以假设 X 和 Y 在统计上是相互关联的,并且我们可以忽略其中任何一个(X 或 Y)。

数值数据的相关系数

对于数值数据,使用此测试。 在此测试中,属性 A 和属性 B 之间的关系由皮尔逊积矩系数(也称为相关系数)计算。 相关系数衡量一个变量的值随另一个变量变化的程度。 最著名的是皮尔逊和斯皮尔曼的等级顺序。 前者用于两个变量都是连续变量的情况,后者用于至少一个变量代表等级的情况。

有几个不同的相关系数,每个系数都适用于不同类型的数据。 最常见的是皮尔逊 r,用于连续变量。 这是一个衡量一个变量与其他变量同步变化的程度的统计量。 它的范围从 -1 到 +1。 +1 的相关性意味着当一个变量上升时,另一个变量成比例地上升; -1 的相关性意味着当一个变量上升时,另一个变量成比例地下降。 0 的相关性意味着这两个变量的运动之间没有关系。

用于计算数值数据的公式如下所示。

Redundancy and Correlation in Data Mining

其中,

n = 元组数

ai = 元组 i 中 x 的值

bi = 元组 i 中 y 的值

从上面的讨论中,我们可以说,相关系数越大,属性之间的相关性越强,我们可以忽略其中任何一个(a 或 b)。 如果相关常数的值为 null,则属性是独立的。 如果相关常数的值为负,则一个属性会阻止另一个属性。 这意味着一个属性的值增加,然后另一个属性的值减小。