这七种数据分析领域中最为人称道的降维方法

这七种数据分析领域中最为人称道的降维方法

感谢王穆荣的投稿,转自数盟社区

近来由于数据记录和属性规模的急剧增长,大数据处理平台和并行数据分析算法也随之出现。于此同时,这也推动了数据降维处理的应用。实际上,数据量有时过犹不及。有时在数据分析应用中大量的数据反而会产生更坏的性能。

最新的一个例子是采用 2009 KDD Challenge 大数据集来预测客户流失量。 该数据集维度达到 15000 维。 大多数数据挖掘算法都直接对数据逐列处理,在数据数目一大时,导致算法越来越慢。该项目的最重要的就是在减少数据列数的同时保证丢失的数据信息尽可能少。

以该项目为例,我们开始来探讨在当前数据分析领域中最为数据分析人员称道和接受的数据降维方法。

1.缺失值比率 (Missing Values Ratio)

该方法的是基于包含太多缺失值的数据列包含有用信息的可能性较少。因此,可以将数据列缺失值大于某个阈值的列去掉。阈值越高,降维方法更为积极,即降维越少。该方法示意图如下:

2.低方差滤波 (Low Variance Filter)

与上个方法相似,该方法假设数据列变化非常小的列包含的信息量少。因此,所有的数据列方差小的列被移除。需要注意的一点是:方差与数据范围相关的,因此在采用该方法前需要对数据做归一化处理。算法示意图如下:

3.高相关滤波 (High Correlation Filter)

高相关滤波认为当两列数据变化趋势相似时,它们包含的信息也显示。这样,使用相似列中的一列就可以满足机器学习模型。对于数值列之间的相似性通过计算相关系数来表示,对于名词类列的相关系数可以通过计算皮尔逊卡方值来表示。相关系数大于某个阈值的两列只保留一列。同样要注意的是:相关系数对范围敏感,所以在计算之前也需要对数据进行归一化处理。算法示意图如下:

4.随机森林/组合树 (Random Forests)

组合决策树通常又被成为随机森林,它在进行特征选择与构建有效的分类器时非常有用。一种常用的降维方法是对目标属性产生许多巨大的树,然后根据对每个属性的统计结果找到信息量最大的特征子集。例如,我们能够对一个非常巨大的数据集生成非常层次非常浅的树,每颗树只训练一小部分属性。如果一个属性经常成为最佳分裂属性,那么它很有可能是需要保留的信息特征。对随机森林数据属性的统计评分会向我们揭示与其它属性相比,哪个属性才是预测能力最好的属性。算法示意图如下:

5.主成分分析 (PCA)

主成分分析是一个统计过程,该过程通过正交变换将原始的 n 维数据集变换到一个新的被称做主成分的数据集中。变换后的结果中,第一个主成分具有最大的方差值,每个后续的成分在与前述主成分正交条件限制下与具有最大方差。降维时仅保存前 m(m < n) 个主成分即可保持最大的数据信息量。需要注意的是主成分变换对正交向量的尺度敏感。数据在变换前需要进行归一化处理。同样也需要注意的是,新的主成分并不是由实际系统产生的,因此在进行 PCA 变换后会丧失数据的解释性。如果说,数据的解释能力对你的分析来说很重要,那么 PCA 对你来说可能就不适用了。算法示意图如下:

6.反向特征消除 (Backward Feature Elimination)

在该方法中,所有分类算法先用 n 个特征进行训练。每次降维操作,采用 n-1 个特征对分类器训练 n 次,得到新的 n 个分类器。将新分类器中错分率变化最小的分类器所用的 n-1 维特征作为降维后的特征集。不断的对该过程进行迭代,即可得到降维后的结果。第k 次迭代过程中得到的是 n-k 维特征分类器。通过选择最大的错误容忍率,我们可以得到在选择分类器上达到指定分类性能最小需要多少个特征。算法示意图如下:

7.前向特征构造 (Forward Feature Construction)

前向特征构建是反向特征消除的反过程。在前向特征过程中,我们从 1 个特征开始,每次训练添加一个让分类器性能提升最大的特征。前向特征构造和反向特征消除都十分耗时。它们通常用于输入维数已经相对较低的数据集。算法示意图如下:

我们选择 2009 KDD chanllenge 的削数据集来对这些降维技术在降维率、准确度损失率以及计算速度方面进行比较。当然,最后的准确度与损失率也与选择的数据分析模型有关。因此,最后的降维率与准确度的比较是在三种模型中进行,这三种模型分别是:决策树,神经网络与朴素贝叶斯。

通过运行优化循环,最佳循环终止意味着低纬度与高准确率取决于七大降维方法与最佳分类模型。最后的最佳模型的性能通过采用所有特征进行训练模型的基准准确度与 ROC 曲线下的面积来进行比较。下面是对所有比较结果的对比。

从上表中的对比可知,数据降维算法不仅仅是能够提高算法执行的速度,同时也能过提高分析模型的性能。 在对数据集采用:缺失值降维、低方差滤波,高相关滤波或者随机森林降维时,表中的 AoC 在测试数据集上有小幅度的增长。

确实在大数据时代,数据越多越好似乎已经成为公理。我们再次解释了当数据数据集宝航过多的数据噪声时,算法的性能会导致算法的性能达不到预期。移除信息量较少甚至无效信息唯独可能会帮助我们构建更具扩展性、通用性的数据模型。该数据模型在新数据集上的表现可能会更好。

最近,我们咨询了 LinkedIn 的一个数据分析小组在数据分析中最为常用的数据降维方法,除了本博客中提到的其中,还包括:随机投影(Random Projections)、非负矩阵分解(N0n-negative Matrix Factorization),自动编码(Auto-encoders),卡方检测与信息增益(Chi-square and information gain), 多维标定(Multidimensional Scaling), 相关性分析(Coorespondence Analysis), 因子分析(Factor Analysis)、聚类(Clustering)以及贝叶斯模型(Bayesian Models)。感谢Asterios Stergioudis, Raoul Savos 以及 Michael Will 在 LinkedIN 小组中提供意见。

本博客的描述的工作流程在 KNIME EXAMPLES 服务器上的 “003_Preprocessing/003005_dimensionality_reduction” 目录上可以找到。2009 KDD Challenge 的大小数据集下载地址:下载。

本博文仅仅是整个工程的一个简要总结,如果你想了解更多的细节,你可以阅读相关的白皮书,白皮书下载地址:链接

本博文原载于:dataminingreporting.com#sthash.3vHXD9wv.dpuf

时间: 2024-10-06 23:19:01

这七种数据分析领域中最为人称道的降维方法的相关文章

进化计算领域中优势个体的选择方法

进化计算领域中优势个体的选择方法 I : 轮盘赌选择  Roulette Wheel Selection 这是一种基于比例的选择.由于随机操作的原因,误差较大,有时即便适应度较高的个体也选择不上 II:   锦标赛选择 Tournament Selection 每次选取几个个体中适应度最高的一个个体遗传到下一代群体中.优点是对个体适应度取正负值无要求,但此方法的随机性更强,存在更大的随机误差,但是有较高概率保证最优个体被选择,最差个体被淘汰. III:随机遍历选择 IV:基于种群交流选择 遗传算

2016.03.03 学习笔记 三种向ListView中填充简单文本的方法

Android 中ListView是很重要的一块内容 掌握ListView的基本用法 对学习安卓起着举足轻重的作用 今天就介绍一下三种向ListView 填充简单文本的方法 填充其他数据类型的用法之后介绍. 第一种:直接向adapter中添加数据 public class MainActivity extends Activity { private ListView lv1; private ArrayAdapter<String> adapter; protected void onCre

php 中两种获得数据库中 数据条数的方法

一种是传统的利用mysql_num_rows()来计算 $sql="select * from news"; $res=mysql_query($sql); $number=mysql_num_rows($sql); 还有一种是利用mysql_result() $sql="select count(*) from news"; $res=mysql_query($sql); $number=mysql_result($res,0,0); mysql_result()

整理了以下四种在MySQL中修改root

整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password o

PatentTips - 在物联网中进行数据过滤的方法和装置

背景技术 [0001] 本发明涉及物联网,特别涉及在物联网进行数据过滤的方法和装置. [0002] 物联网是新一代信息技术的重要组成部分,特指物物相连的网络.具体地,物联网是指通过各种信息传感设备,如传感器.射频识别(RFID)技术.全球定位系统.红外感应器.激光扫描器.气体感应器等各种装置与技术,实时采集任何需要监控.连接.互动的物体或过程,采集其声.光.热.电.力学.化学.生物.位置等各种需要的信息,与互联网结合形成的一个巨大网络.物联网目的是实现物与物.物与人.所有的物品与网络的连接,以方

ASP.net中导出Excel的简单方法介绍

下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat="server" style="width: 700px; margin-left: auto; margin-right: auto;"> <!--startprint--> <table width="100%" border=&

数据分析师:数据分析工作常见七种错误及其规避技巧(转自经管之家)

数据分析师:数据分析工作常见七种错误及其规避技巧商业领域的数据科学家和侦探类似:去探索未知的事物.不过,当他们在这个旅程中冒险的时候,他们很容易落入陷阱.所以要明白,这些错误是如何造成的,以及如何避免.“ ... 数据分析师:数据分析工作常见七种错误及其规避技巧 商业领域的数据科学家和侦探类似:去探索未知的事物.不过,当他们在这个旅程中冒险的时候,他们很容易落入陷阱.所以要明白,这些错误是如何造成的,以及如何避免. “错误是发现的入口.”——James Joyce (著名的爱尔兰小说家). 这在

数据分析常见的七种思路

数据分析常见的七种思路:1.简单趋势通过访问趋势了解产品使用情况,便于产品迭代.访问用户量.访问来源.访问用户行为三大指标对于趋势分析具有重要意义.2.多维分解根据分析需要,从多维度对指标进行分解.例如浏览器类型.操作系统类型.访问来源.广告来源.地区.网站/手机应用.设备品牌.APP版本等维度.3.转化漏斗按照已知的转化路径,借助漏斗模型分析总体和每一步的转化情况.常见的转化情境有注册转化分析.购买转化分析等.4.用户分群在精细化分析中,常常需要对有某个特定行为的用户群组进行分析和比对:需要将

只显示前几条数据的sql语句写法 七种数据库中Select Top的使用方法

七种数据库中Select Top的使用方法 1. Oracle数据库 SELECT * FROM TABLENAME WHERE ROWNUM <= N 2. Infomix数据库 SELECT FIRST N * FROM TABLENAME 3. DB2数据库 SELECT * FROM (SELECT * ROW_NUMBER() OVER({ORDER BY COL1 DESC}) AS ROWNUM FROM TABLENAME) WHERE ROWNUM <= N 或者 SELEC