聚类算法中的数据预处理

栏目: 数据库 · 发布时间: 5年前

内容简介:在一般的机器学习任务中,已经有很多的数据预处理方法。本文要介绍的数据预处理方法是针对聚类算法。在聚类中,通常将样本的所有特征数据组合成一个数值,然后计算两个样本之间的相似性。组合数据要求不同的特征具有相同的量纲。本文将讨论如何规范化、转换和创建分位数(normalizing, transforming, and creating quantiles),并讨论为什么分位数是转换任何数据分布的最佳默认选择。有了默认选项,就可以在不检查数据分布的情况下转换数据。本文主要内容翻译自

在一般的机器学习任务中,已经有很多的数据预处理方法。本文要介绍的数据预处理方法是针对聚类算法。

在聚类中,通常将样本的所有特征数据组合成一个数值,然后计算两个样本之间的相似性。组合数据要求不同的特征具有相同的量纲。本文将讨论如何规范化、转换和创建分位数(normalizing, transforming, and creating quantiles),并讨论为什么分位数是转换任何数据分布的最佳默认选择。有了默认选项,就可以在不检查数据分布的情况下转换数据。

本文主要内容翻译自 谷歌机器学习教程Clustering in Machine Learning-PrepareData

规范化数据 Normalizing Data

通过规范化数据,可以将多种特征转换为相同的量纲。特别是,规范化(normalizing)非常适合处理最常见的数据分布,即高斯分布。与分位数相比,规范化对数据量的要求更低。通过计算z-score对数据进行规范化,如下所示:

$$\begin{array}{*{20}{c}} {x' = (x - \mu )/\sigma } \\ {\mu = {\text{mean}}} \\ {\sigma = {\text{standard deviation}}} \end{array}$$

让我们看看数据在标准化前后相似性变化的例子。在图1中发现红色与蓝色更相似,而不是黄色。这是因为,x轴和y轴上他们数据特征的量纲不同。因此,直接观察到的相似性可能是未经缩放的。使用z-score进行规范化后,所有特征具有相同的尺度。这时你会发现红色实际上更像黄色。因此,在对数据进行规范化之后,可以更准确地计算相似性。

聚类算法中的数据预处理 图1:规范化前后的特征数据比较。

综上所述,当数据有如下之一情况时,推荐使用规范化:

  1. 数据服从高斯分布
  2. 缺少足够的数据来创建分位数

Log转换

当数据分布表现为长尾分布时,如图所示,红点看起来与黄点更加相似。 聚类算法中的数据预处理 图2:幂率分布

我们对图2幂率分布的数据应用log转换,让数据分布变得更加平滑。结果如图3所示,红色目前与蓝色更相似。

聚类算法中的数据预处理 图3:变化后的正态分布

分位数

规范化和log转换依赖于特定的数据分布。如果数据不符合高斯分布或幂律分布怎么办,是否有适用于任何分布的数据预处理方法。

尝试对如下分布进行预处理

聚类算法中的数据预处理

图4:无法归类的数据分布

直观地说,如果两个样本之间只有少数几个样本,那么无论它们的值如何,这两个样本是相似的。相反,如果这两个样本之间有很多个其他样本,那么这两个样本就不那么相似了。因此,两个样本之间的相似性随着样本间的样本数量的增加而减少。

如果对数据进行规范化(normalizing)只会复制数据分布,因为规范化是一个线性变换。应用log转换也不能反映相似性的原理,如图5所示。 聚类算法中的数据预处理 图5:对数据分布进行log转换

将数据划分为不同的区间,每个区间包含相同数量的样本。这些区间的边界称为分位数。

执行以下步骤将数据转换为分位数:

  1. 确定间隔的数量。
  2. 定义区间,使每个区间具有相同数量的样本。
  3. 用样本所在区间的索引替代原先的样本值。
  4. 将索引值缩放到[0,1],使索引与其他特征的数据范围相同。

聚类算法中的数据预处理 图6:使用分位数转换后的数据分布

将数据转换为分位数后,两个样本之间的相似性与这两个样本之间的样本数量成反比。在数学上,x是数据集中的任意一个样本:

$$sim(A,B) \approx 1 - |{\text{prob}}[x > A] - {\text{prob}}[x > B]|$$ $$sim(A,B) \approx 1 - |{\text{quantile}}(A) - {\text{quantile}}(B)|$$

分位数是转换数据的最佳默认选择。然而,要建立可靠的底层数据分布的分位数指标,需要大量数据支撑。以经验来说,要建立$n$个分位数指标,至少需要$10n$个样本。如果没有足够的数据,请仍旧使用标准化(normalization)。

注意: 对于如下数据分布,应当使用分位数处理,因为它不属于幂率分布,也不属于某个标准的数据分布形式

聚类算法中的数据预处理

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网站搜索设计

网站搜索设计

[美] Shari Thurow、[美] Nick Musica / 向怡宁 / 人民邮电出版社 / 2011-4 / 35.00

本书是提高网站搜索可用性的红宝书,它将SEO 和Web 可用性两个不同领域的知识融会贯通,详细阐述了用户的各种搜索行为和行为背后的真实意图,以及网站如何迎合用户心理,以便提供令其满意的内容,进而实现网站所有者的商业目标。 本书不仅仅是SEO 专业人员和Web 可用性人员的参考必备,同时更可为网络文案、设计开发人员、营销专员以及网站所有者、管理者等其他Web 领域从业人员拓展视野、补强技能。一起来看看 《网站搜索设计》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具