数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。
中文名称 | 数据挖掘算法 | 定义 | 创建数据挖掘模型的试探法和计算 |
---|---|---|---|
作用 | 创建挖掘模型的最佳参数 | 分类方式 | 数据创建的挖掘模型 |
C4.5就是一个决策树算法,它是决策树(决策树也就是做决策的节点间像一棵树一样的组织方式,其实是一个倒树)核心算法ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。决策树构造方法其实就是每次选择一个好的特征以及分裂点作为当前节点的分类条件。C4.5比ID3改进的地方时:
ID3选择属性用的是子树的信息增益(这里可以用很多方法来定义信息,ID3使用的是熵(entropy)(熵是一种不纯度度量准则)),也就是熵的变化值,而C4.5用的是信息增益率。也就是多了个率嘛。一般来说率就是用来取平衡用的,就像方差起的作用差不多,比如有两个跑步的人,一个起点是100m/s的人、其1s后为110m/s;另一个人起速是1m/s、其1s后为11m/s。如果仅算加速度(单位时间速度增加量)那么两个就是一样的了;但如果使用速度增加率(速度增加比例)来衡量,2个人差距就很大了。在这里,其克服了用信息增益选择属性时偏向选择取值多的属性的不足。在树构造过程中进行剪枝,我在构造决策树的时候好讨厌那些挂着几个元素的节点。对于这种节点,干脆不考虑最好,不然很容易导致overfitting。对非离散数据都能处理,这个其实就是一个个式,看对于连续型的值在哪里分裂好。也就是把连续性的数据转化为离散的值进行处理。能够对不完整数据进行处理,这个重要也重要,其实也没那么重要,缺失数据采用一些方法补上去就是了。
CART也是一种决策树算法!相对于上着有条件实现一个节点下面有多个子树的多元分类,CART只是分类两个子树,这样实现起来稍稍简便些。所以说CART算法生成的决策树是结构简洁的二叉树。
这个很简单,就是看你周围的K个人(样本)中哪个类别的人占的多,哪个多,那我就是多的那个。实现起来就是对每个训练样本都计算与其相似度,是Top-K个训练样本出来,看这K个样本中哪个类别的多些,谁多跟谁。
(朴素贝叶斯NB)
NB认为各个特征是独立的,谁也不关谁的事。所以一个样本(特征值的集合,比如"数据结构"出现2次,"文件"出现1次),可以通过对其所有出现特征在给定类别的概率相乘。比如"数据结构"出现在类1的概率为0.5,"文件"出现在类1的概率为0.3,则可认为其属于类1的概率为0.5*0.5*0.3。
(支持向量机SVM)
SVM就是想找一个分类得最"好"的分类线/分类面(最近的一些两类样本到这个"线"的距离最远)。这个没具体实现过,上次听课,那位老师自称自己实现了SVM,敬佩其钻研精神。常用的工具包是LibSVM、SVMLight、MySVM。
这个我认为就是假设数据时由几个高斯分布组成的,所以最后就是要求几个高斯分布的参数。通过先假设几个值,然后通过反复迭代,以期望得到最好的拟合。
这个是做关联规则用的。不知道为什么,一提高关联规则我就想到购物篮数据。这个没实现过,不过也还要理解,它就是通过支持度和置信度两个量来工作,不过对于Apriori,它通过频繁项集的一些规律(频繁项集的子集必定是频繁项集等等啦)来减少计算复杂度。
(Mining frequent patterns without candidate generation)
这个也不太清楚。FP-growth算法(Frequent Pattern-growth)使用了一种紧缩的数据结构来存储查找频繁项集所需要的全部信息。采用算法:将提供频繁项集的数据库压缩到一棵FP-tree来保留项集关联信息,然后将压缩后的数据库分成一组条件数据库(一种特殊类型的投影数据库),每个条件数据库关联一个频繁项集。
大名鼎鼎的PageRank大家应该都知道(Google靠此专利发家,其实也不能说发家啦!)。对于这个算法我的理解就是:如果我指向你(网页间的连接)则表示我承认你,则在计算你的重要性的时候可以加上我的一部分重要性(到底多少,要看我自己有多少和我共承认多少个人)。通过反复这样来,可以求的一个稳定的衡量各个人(网页)重要性的值。不过这里必须要做些限制(一个人的开始默认重要性都是1),不然那些值会越来越大越来越大。
HITS也是一个连接分析算法,它是由IBM首先提出的。在HITS,每个节点(网页)都有一个重要度和权威度(Hubs and authorities,我也忘了具体的翻译是什么了)。通过反复通过权威度来求重要度,通过重要度来求权威度得到最后的权威度和重要度。
K-Means是一种最经典也是使用最广泛的聚类方法,时至今日扔然有很多基于其的改进模型提出。K-Means的思想很简单,对于一个聚类任务(你需要指明聚成几个类,当然按照自然想法来说不应该需要指明类数,这个问题也是当前聚类任务的一个值得研究的课题),首先随机选择K个簇中心,然后反复计算下面的过程直到所有簇中心不改变(簇集合不改变)为止:步骤1:对于每个对象,计算其与每个簇中心的相似度,把其归入与其最相似的那个簇中。
步骤2:更新簇中心,新的簇中心通过计算所有属于该簇的对象的平均值得到。
k-means 算法的工作过程说明如下:首先从n个数据对象任意选择k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
BIRCH也是一种聚类算法,其全称是Balanced Iterative Reducing and Clustering using Hierarchies。BIRCH也是只是看了理论没具体实现过。是一个综合的层次聚类特征(Clustering Feature, CF)和聚类特征树(CF Tree)两个概念,用于概括聚类描述。聚类特征树概括了聚类的有用信息,并且占用空间较元数据集合小得多,可以存放在内存中,从而可以提高算法在大型数据集合上的聚类速度及可伸缩性。
BIRCH算法包括以下两个阶段:
1)扫描数据库,建立动态的一棵存放在内存的CF Tree。如果内存不够,则增大阈值,在原树基础上构造一棵较小的树。
2)对叶节点进一步利用一个全局性的聚类算法,改进聚类质量。
由于CF Tree的叶节点代表的聚类可能不是自然的聚类结果,原因是给定的阈值限制了簇的大小,并且数据的输入顺序也会影响到聚类结果。因此需要对叶节点进一步利用一个全局性的聚类算法,改进聚类质量。
AdaBoost做分类的一般知道,它是一种boosting方法。这个不能说是一种算法,应该是一种方法,因为它可以建立在任何一种分类算法上,可以是决策树,NB,SVM等。
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用adaboost分类器可以排除一些不必要的训练数据,并将关键放在关键的训练数据上面。
GSP,全称为Generalized Sequential Pattern(广义序贯模式),是一种序列挖掘算法。对于序列挖掘没有仔细看过,应该是基于关联规则的吧!网上是这样说的:
GSP类似于Apriori算法,采用冗余候选模式的剪除策略和特殊的数据结构-----哈希树来实现候选模式的快速访存。
GSP算法描述:
1)扫描序列数据库,得到长度为1的序列模式L1,作为初始的种子集。
2)根据长度为i 的种子集Li ,通过连接操作和修剪操作生成长度为i+1的候选序列模式Ci+1;然后扫描序列数据库,计算每个候选序列模式的支持度,产生长度为i+1的序列模式Li+1,并将Li+1作为新的种子集。
3)重复第二步,直到没有新的序列模式或新的候选序列模式产生为止。
产生候选序列模式主要分两步:
连接阶段:如果去掉序列模式s1的第一个项目与去掉序列模式s2的最后一个项目所得到的序列相同,则可以将s1与s2进行连接,即将s2的最后一个项目添加到s1中。
修切阶段:若某候选序列模式的某个子序列不是序列模式,则此候选序列模式不可能是序列模式,将它从候选序列模式中删除。
候选序列模式的支持度计算:对于给定的候选序列模式集合C,扫描序列数据库,对于其中的每一条序列s,找出集合C中被s所包含的所有候选序列模式,并增加其支持度计数。
又是一个类似Apriori的序列挖掘。
其中经典十大算法为:C4.5,K-Means,SVM,Apriori,EM,PageRank,AdaBoost,KNN,NB和CART。
数据挖掘算法概念描述
算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,这些参数应用于整个数据集,以便提取可行模式和详细统计信息。
算法根据您的数据创建的挖掘模型可以采用多种形式,这包括:
说明数据集中的事例如何相关的一组分类。
预测结果并描述不同条件是如何影响该结果的决策树。
预测销量的数学模型。
说明在事务中如何将产品分组到一起的一组规则,以及一起购买产品的概率。
就是只几个数据一组来光滑数据,举例说明:bin1:13 15 16bin2:19 20 22bin3:25 25 29上面的深度为3,就是3个一组来smooth
如何对客户进行数据挖掘与分大数据平台是为了计算,现今社会所产生的越来越大的数据量。以存储、运算、展现作为目的的平台大数据平台是允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务,...
数据挖掘是一项复杂的工作,需要人员具备专业知识与技术知识
针对变电站在集中控制模式下的无功补偿与电压控制的问题,充分利用变电站运行过程中的大量数据,将数据挖掘技术应用于变电站电压无功自动调节系统,提出了基于关联规则的系统蚁群无功优化方法。将改进Apriori算法应用于无功优化方案的确定,并对蚁群优化算法进行改进,建立了基于实际数据挖掘结果的无功全局优化总体数学模型。以上海220kV万航变电站为例,以其日常运行的历史数据为基础,运用本文算法得到在各种典型工况下的最优方案,以指导实际运行。实验结果表明,基于数据挖掘的系统无功优化目标值方法可以提高系统运行效率,降低损耗,对系统电压稳定,经济运行意义重大。
针对目前企业中水泥熟料生产过程数据分析方法的数据预处理精度较低;关联模式挖掘不精确的问题;提出了一种基于改进的关联规则算法的水泥熟料生产过程数据分析方法;建立了熟料生产数据挖掘模型;首先对水泥厂原始数据进行高精度的预处理;以符合关联规则算法的要求;其次应用改进的关联规则挖掘算法;挖掘特定于某个目标参数的关联规则;例如熟料28天强度、单位煤耗等;实验结果表明;该方法可以挖掘出传统挖掘方法所挖掘不出的关联模式;这些关联模式可以为水泥企业熟料产品质量优化控制和提高能源利用效率提供指导;具有重要的应用价值;
大数据时代应用机器学习方法解决数据挖掘问题的实用指南。
洞察隐匿于大数据中的结构模式,有效指导数据挖掘实践和商业应用。
weka系统的主要开发者将丰富的研发、商业应用和教学实践的经验和技术融会贯通。
广泛覆盖在数据挖掘实践中采用的算法和机器学习技术,着眼于解决实际问题
避免过分要求理论基础和数学知识,重点在于告诉读者“如何去做”,同时包括许多算法、代码以及具体实例的实现。
将所有的概念都建立在具体实例的基础之上,促使读者首先考虑使用简单的技术。如果简单的技术不足以解决问题,再考虑提升到更为复杂的高级技术。
新版增加了大量近年来最新涌现的数据挖掘算法和诸如Web数据挖掘等新领域的介绍,所介绍的weka系统增加了50%的算法及大量新内容。
本书是机器学习和数据挖掘领域的经典畅销教材,被众多国外名校选为教材。书中详细介绍用于数据挖掘领域的机器学习技术和工具以及实践方法,并且提供了一个公开的数据挖掘工作平台Weka。本书主要内容包括:数据输入/输出、知识表示、数据挖掘技术(决策树、关联规则、基于实例的学习、线性模型、聚类、多实例学习等)以及在实践中的运用。本版对上一版内容进行了全面更新,以反映自第2版出版以来数据挖掘领域的技术变革和新方法,包括数据转换、集成学习、大规模数据集、多实例学习等,以及新版的Weka机器学习软件。本书逻辑严谨、内容翔实、极富实践性,适合作为高等院校本科生或研究生的教材,也可供相关技术人员参考。
数据挖掘基于数据库理论,机器学习,人工智能,现代统计学的迅速发展的交叉学科,在很多领域中都有应用。涉及到很多的算法,源于机器学习的神经网络,决策树,也有基于统计学习理论的支持向量机,分类回归树,和关联分析的诸多算法。数据挖掘的定义是从海量数据中找到有意义的模式或知识。
大数据是最近几年提出来,也是媒体忽悠的一个概念。有三个重要的特征:数据量大,结构复杂,数据更新速度很快。由于Web技术的发展,web用户产生的数据自动保存、传感器也在不断收集数据,以及移动互联网的发展,数据自动收集、存储的速度在加快,全世界的数据量在不断膨胀,数据的存储和计算超出了单个计算机(小型机和大型机)的能力,这给数据挖掘技术的实施提出了挑战(一般而言,数据挖掘的实施基于一台小型机或大型机,也可以进行并行计算)。Google提出了分布式存储文件系统,发展出后来的云存储和云计算的概念。
1.从结构化数据到非结构化数据。传统的数据挖掘都是依据数据库里面的数据进行分析,在大数据时代,数据来源多种多样,对于这些非结构化数据的加工是大数据数据挖掘的重要特征。因为非结构化数据处理的成功与否决定了大数据数据源的质量好坏,而这并不是算法可以解决的。
2.从抽样数据到全量数据。传统数据挖掘受制于数据处理能力,只能使用少量的抽样数据进行分析。在大数据技术环境下,完全可以实现全量数据的分析,效率甚至可能高于抽样数据的分析。
3.从因果关系到相关性分析。大数据分析通过事件和多种因素进行相关性分析,通过数据挖掘和机器学习的算法找到其关联关系,并运用回归分析从而实现预测。
数据挖掘的任务按照目标可以分为4类:
1) 分类:通过分析训练集的数据,为每一个分类建立分类分析模型,用这个已知的规律对其他数据进行分类
2) 回归:建立因变量和自变量之间关系的模型
3) 聚类:将对象集合分成由类似的对象组成的多个类的过程
4) 关联规则:寻找给定数据集合中各个因子之间的关联关系
人们经常见到的“逻辑回归模型”、“神经网络模型”、“遗传算法”、“决策树”等等都是监督学习过程的挖掘算法。这类算法在机器学习和深度学习里面大量使用,是大数据公司必备的专业技能。极光大数据作为国内领先的移动大数据服务商,在这方面的实际案例颇多,例如极光大数据团队利用神经网络算法预测个人前往某一个特定区域的概率和时间,准确度可以达到80%以上;他们还利用神经网络算法和随机森林算法对个人喜欢的移动应用进行推荐下载和推荐产品;此外,极光大数据团队还自主开发了空间轨迹相似度STS(spatial trajectory similarity)算法进行同轨分析等。
数据挖掘技术随着大数据时代的到来已变幻出更强的功能特征,而在大数据服务商的精耕细作下,也必将为各行业带来进步的动力。
旋转门算法除了平行四边形算法之外,还能用三角形算法来表示。