今天给大家推荐《数据挖掘:你必须知道的32个经典案例》,并摘取书中的一些数据清洗和数据分析算法推送给大家。
1.数据清洗的作用:填充空缺值、平滑噪点、识别显著离群点。在个别空缺值处理中通常采用人工规则、平均值、中位数、拉格郎日插值、牛顿插值、线性规则求解等方法。
2.噪声平滑:其中箱形技术用得比较多,平滑方法有滑动窗口法、按箱平均值/中值平滑法等。
3.离群点检测:其经典算法是K近邻算法(KNN),还有一元/多元回归分析来拟合光滑数据,从而使噪声点暴露出来。
4.数据规约:用于降低数据量、提取核心信息。其中属性/特征维度规约是删除不相关/不重要的属性来减少数据量,通常方法是子集选择和树形合并,即通过决策树归纳、前向选择、向后删除等完成集合筛选。
5.数据压缩:小波变换是数据压缩领域的典型算法,对于有稀疏、倾斜等情况出现的数据集,基于小波变换的有损压缩方法往往可以得到很好的结果。主成分分析方法(PCA)将原有的多维特征根据重要性排序,只提取重点关注的特征,它和它的扩展算法在实际中应用非常广泛。
6.数值规约:小到将整型数据属性类型从long变为int,大到使用对数线性模型等方法将数据划分为多维空间并进行相应规约。
7.数据离散:用于解决特征中连续特征比例过高的问题,其主要思路是基于分箱或直方图分析的方法将连续特征变为离散特征,从而达到减少连续特征的目的。这种方法对于处理连续特征比较困难的ID3决策树算法,有非常大的帮助。
8.异常值:远离大部分样本数据的数据值。
9.对比分析:常见的数据分析方法,通常局限于数值型数据中。它将两个以上的相似数据进行比较和分析。最重要的是选择合适的对比标准。
10.相关性分析:对存在关联关系的变量进行分析,进而用量化的方式判断变量的相关性程度的分析方法。缺点:对数值型数据分析效果较好,对其他数据则可能出现偏差。同时还受数据样本量影响较大,较小的样本相关系数常常较高。
11.相关系数:经典方法有皮尔逊相关系数、肯德尔相关系数、斯皮尔曼相关系数、等级相关系数、偏相关系数。
12.回归分析法:是经典的因果分析法。根据自变量个数的不同,将回归分析分为一元回归和多元回归分析。回归分析通过拟合线或面乃至高维结构,使得数据点到线、面和高维结构的距离最小。
13.皮尔逊相关系数:也叫简单相关系数,是一种用途最广泛的相关系数。对绝大多数数值型变量都适用。皮尔逊相关系数总是在-1~1之间,系数为正表示两个变量正相关,即一个变量增大时另外一个变量也增大。系数为负表示两个变量为负相关,即一个变量增大时另外一个变量则会减小。系数大于0.6表示两个变量为强关联,系数小于0.4表示两个变量为弱关联。
14.时间序列分析:根据过去的变化趋势预测未来的发展,通常用于研究一定时间内的社会事务问题或金融经济问题。在时间序列分析中,历史数据需要满足三条前提假设:过去的数据规律会延续到未来;数据呈现明显的周期性;在某一周期内,数据的变化趋势符合某种规律。根据所平均的数据是全部数据还是部分数据,时间序列模型可分为序时平均数法和移动平均法;根据不加权还是令时间较近的数据权重更大,时间序列模型可以分为简单平均法和加权平均法。
缺点:对于周期性和趋势性的变化不敏感,只有周期性和趋势性都符合固定规律的数据才能够得到可信的时间序列模型。
15.线性回归分析:一种研究自变量和因变量之间因果关系的分析方法。当自变量只有一个时,称为一元线性回归分析,自变量有多个时,称为多元线性回归分析。线性回归分析使用最小二乘法度量散点到回归线的距离,并寻找使得直线到所有散点的距离之和达到最小的解,以此为依据写出距离所有散点最近的回归线的方程。
缺点:只能用于分析线性关系。每个自变量和因变量所成的散点图都应当围绕一条直线波动。对于非线性分布,如指数分布或二次分布,就应当将其转化为线性分布后再精选分析。线性回归分析要求所有的自变量相互独立。若自变量之间有相关性,就需要使用因子分析等方法消除自变量相关带来的影响。
16.Logistic回归分析:适用于因变量为分类变量的情况。使用一个对数转换,将事件发生的概率转换为成因变量,是一种非线性回归。具有灵活多变可拟合复杂的曲线的特点。能够比较不同自变量对因变量影响的强弱。也能比较不同自变量组合有什么差别。
缺点:适用范围不广泛,通常用于流行病学研究。也用于研究社会科学问题。
17.降维算法:提取数据中重要特征并摒弃无用特征,以加快计算速度并为后序分析提供类似数据清洗的工作。
18.线性降维算法:是降维算法中最早被使用的算法。从子集选择(属性选择)开始,慢慢演变发展出因子分析、主成分分析等可解释性强且效果不错的算法。
缺点:忽略了特征之间的非线性关系。
19.因子分析:基本思想是根据特征相关性将原始特征分组,使得同组内的特征相关性尽可能高,不同组内的特征相关性尽可能低。此算法在心理学领域得到广泛应用。由于因子分析需要预先做好的假设,对误差有特殊要求等原因,它的计算需要很多轮迭代,非常复杂。因子分析也是降维算法明星。因子分析可以提前将多个相关的自变量映射成较少的不相关的自变量,从而提高回归分析的准确性。
缺点:构建因子模型需要非常大的计算量,因此因子分析局限于小样本数据分析;因子分析十分依赖数据真实性;因子分析依赖数据分析师经验,若将不该放在一起的变量放到一个因子中,结论就会大错特错。
20.主成分分析法:是目前典型降维算法,扩展得到奇异值分解法以及判别分析法。在减少数据集特征维度的同时,尽可能保持数据集对方差贡献最大的特征。其基本步骤:(1)数据去中心化;(2)构建协方差矩阵;(3)做特征值分解,得到特征值和对应的特征向量;(4)将特征值从大到小排序,特征值大的维度即对应数据集中的重要特征,特征值小的维度即对应数据集中的次要特征,对数据集特征进行筛除。
21.非线性降维算法:典型的非线性降维算法有“核方法+线性降维算法”、“流形学习”等。
22.核方法+线性降维算法:通过利用核函数的性质将低维输入空间(欧式空间或离散集合)映射到高维特征空间(希尔伯特空间),在新的特征空间中数据即从线性不可分变成了线性可分了。
23.流形学习:等距离映射是流形学习代表算法,它的作用是将流形上的位置映射到欧式空间中(如将一个三维足球的每块格子映射到二维平面中),它是多维尺度分析方法的改进算法,用测地线距离代替欧式距离作为空间距离的表示。
缺点:由于流形方法是基于数据分布在一个流形上的假设,而实际情况并不能确定这个假设的存在。
24.粗糙集算法:可以同时研究多个自变量和多个因变量之间的关系。使用粗糙集算法的前提是将原始数据离散化为算法可以识别的数据。粗糙集可以完成属性简约、测度属性重要性、提取决策规则工作。该算法具有计算速度快、准确度高、结果易于理解等优点。
缺点:决策过程十分简单,决策规则不够稳定,不同的数据集会导致不同的决策规则;当训练数据增多时,粗糙集的精确度会得到提高,这意味着粗糙集需要大量有效的训练数据;粗糙集只能处理离散数据,如果不能较合理地将连续数据离散化,将极大影响粗糙集的结果;当条件属性过多时,属性组合会无限多,简约属性将变得十分困难。
25.最优尺度分析:通过主成分分析法来描述多个分类变量不同水平之间的相关性,它用图形反应变量之间的关系,兼具理论基础坚实和结果易解读两方面优点,在市场细分、产品定位、品牌形象、顾客满意度研究方面都有深远影响。
缺点:不能和其他分析方法产生协作关系,也不能像因子分析那样为其他分析方法进行数据处理工作;能分析的变量数有限;不能回答定量问题,也不能回答两个变量的相关程度有多高。
26.遗传算法:是一种梯度上升的最优化算法,每次繁衍都会得到比上一次繁衍更好的结果,适合解决各类复杂的非线性问题。遗传算法不作用于单独的解,而是从一组解迭代到另一组解;遗传算法不需要过多的先验知识,只需设定号适应度函数即可完成求解过程;遗传算法不会陷入局部最优解,而是直接得出全局最优解;遗传算法能提供的解不是唯一的。遗传算法具有高度并行性,因此可以在分布式系统上实现遗传算法,可以处理更庞大的数据量。
缺点:遗传算法的数学基础不完善,它主要使用概率知识来求得最优解;遗传算法过度依赖二进制表达,不使用二进制表达时如何推广遗传算法仍是一个难题。工程师尝试使用格雷编码和实数编码表示染色体。
27.决策树分析:决策树是一种电信的分类方法,是最著名的模式识别算法之一。它能够从数据集中抽取有价值的规则,并广泛用于各类决策问题。与粗糙集和遗传算法不同,决策树在判断决策条件时,是按照顺序进行判断的。即,决策树的最终结果和决策树的条件罗列顺序有关。即便数据集和决策变量都完全相同,但改变决策条件的顺序,就有可能改变决策结果。为了得到最优的决策结果,需要引入熵和信息增益的概念。在二分类决策熵中,某个变量所包含的变量越单一,其熵就越低;某个变量所包含的变量越混杂,其熵就越高。只有熵还不足以确定决策树中变量的排序,而信息增益算法则可计算每个变量的数值。在安排决策树时可按照信息增益大到小的顺序对决策变量加以排序,并从信息增益较大的变量开始进行决策,即可保证决策树的结果最优化。决策树是一种非常实用的逼近离散函数值的方法。本质上是一种映射关系,将对象的一组属性和对象的值映射到一起,就是一组映射关系。决策树能够解决分类问题、预测问题和回归问题。决策树具有适合处理多类变量、对异常值不敏感、准确度高等优点。
缺点:一个决策树仅能输出一个结果,需要输出多个结果时,需要构建多个决策树。决策树在训练时需要大量的数据和计算空间。为了得到最好的决策变量排序顺序,决策树需要反复计算变量的熵和信息增益。决策树的剪枝技术帮助决策树使用最少的节点完成分类的任务,但错误的剪枝会使得决策树的结果准确性大幅度下降,同时剪枝过程需要大量的计算。
28.K均值聚类分析:最简单的一种聚类方法,在二维平面或者三维平面上,聚类结果最直观易理解。K均值聚类中聚类的个数由数据分析师手动指定,一般是根据原始数据的形成散点图观察得到。有的很容易得到,有的需要反复尝试。K均值聚类是一种迭代算法,需多次调整各个类别的中心和所属的散点。K均值聚类原理简单,实现程序简洁,能处理大多数的分类问题。优点是计算速度快、易解释性强、能够处理多种数据类型。
缺点:只对圆形或椭圆形的散点分布敏感,若三代分布式不规则的月牙形或者环形,K均值聚类就会犯错,此时适合使用密度聚类方法;K均值聚类要求每个类别中的散点数量都差不多。如果有一小部分点单独聚成一类,K均值聚类就会把它们打散并和其他类别合并;K均值聚类需要手动设定聚类个数,当处于二维或者三维时,问题不大,但处于更高维数时,人眼就不能直观判断聚类结果是否合理;K均值聚类对噪声点和离群值较为敏感,以及要求一定数据量,否则聚类结果就不理想。
29.顺序分析:是关联分析的一种,能够在大量数据集中发现数据的关联性或相关性。顺序分析关心数据的纵向排列,即一件事情发生后紧接着会发生什么事情。顺序分析所使用的频繁模式算法是一种实用且简单的算法,比如输入法利用顺序分析挖掘用户固有的输入习惯。
缺点:结果准确度和计算效率是顺序分析中一个不可调和的矛盾;顺序分析仅能发现事件和事件之间的相关性,而不能发现一个事件引发另外一个事件的原因;顺序分析只有在样本积累足够多时才能起到作用。
30.文本分析:是一系列算法的合称,需要完成分词、清洗、信息提取等工作。这些可以通过K均值算法、支持向量机或朴素贝叶斯算法完成。
31.协同过滤:是利用集体智慧编程的一种典型算法,但它保留了一定的个体特征,因此可以用于预测每个人的品味偏好。优点在于能够基于抽象概念和信息来过滤某些难以分析的内容。为用户浏览到更多感兴趣的品牌提供了可能。
32.支持向量机:能够同时最小化经验误差并最大化几何误差,在保证分类效果的同时,让两个类别的样本尽可能远离。和线性分类器相比,它具有较高的精度和灵敏度,因此常常应用于对分类结果要求较高的地方。在信息生物学、工业勘探和文本分析领域都有重要应用。
33.感知器神经网络:一种基础神经网络,使用BP算法优化后,感知器神经网络将具有更好的非线性映射能力、泛化能力和容错能力,这是由于BP算法利用了误差的反向传播思想,将误差平摊给隐含层。
缺点:不能准确预测较长时间内的函数;神经网络训练时间较长,当数据较少且隐含层和神经元都较少时,神经网络能够在几分钟内训练好,并且能够很好解决问题;当数据很多、隐含层很多、神经元很多,即启动典型的深度学习模式时,神经网络就需要训练很长时间;另外神经网络的好坏依赖于初始值的设定,这是因为误差曲面会将神经网络引入局部最优值。
34.自主神经网络:将网络切割为一个一个小的部分,每部分对应一种模式,这种结构使自组织神经网络在分析比较、寻找规律和正确归类等方面具有特殊的优势。其最重要的部分在于设计神经元个数和神经元排列方式。
35.RBM算法:全称是受限玻尔兹曼机算法,其一个重要用途就是为神经网络做预处理,替神经网络找出最佳的初始值。RBM算法利用了统计热力学的思想。它将可视层的数据转化为隐含层的数据,通过监督学习的方法进行分类或回归。由于隐含层的节点数一般少于可视层,因此RBM算法就完成了降维工作;通过能量函数的最优化,RBM算法可以求出自变量和因变量之间的权重矩阵和偏移量,用两者作为神经网络的初始值,可以是神经网络进入全局最优值点,而不会陷入局部最优值点处。RBM算法能够计算自变量和因变量的联合概率,以及两者构成的条件概率。有了这些概率,RBM算法可以像贝叶斯网络或者隐马尔可夫链那样计算每种状态出现的概率,即作为一个生成模型或分类模型来使用。最大优点是能求得全局最优值
36.判别分析:是一种典型的以统计理论为基础的分类方法,它所使用的降维方法和主成分分析十分类似,但主成分分析的目标是将不同维度的信息整合为一个维度,而判别分析的目标是将不同类别的数据尽量分离。和回归分析类似,判别分析有十分严苛的假设条件。判别分析假设分组类型在两种以上,且每个类别都具有一定的样本数量;各组样本的协方差矩阵相等,且各组样本服从正态分布;判别分析中涉及的各个变量不能相关。判别分析擅长处理那些样本数据量介于多和少之间、自变量个数较多问题。
长按识别下面的二维码可加入星球
里面已有三千余篇资料可供下载
越早加入越便宜
续费五折优惠
机器翻译支持: 北京百分点科技集团股份有限公司
电话:400-6240-800
邮箱:[email protected] 2022