⼤数据算法⼗⼤经典算法 ⼤数据算法⼗⼤经典算法 ⼀、C4.5 C4.5,是机器学习算法中的⼀个分类决策树算法, 它是决策树(决策树也就是做决策的节点间的组织⽅式像⼀棵树,其实是⼀个倒树)核⼼算法 ID3的改进算法,所以基本上了解了⼀半决策树构造⽅法就能构造它。 决策树构造⽅法其实就是每次选择⼀个好的特征以及分裂点作为当前节点的分类条件。 C4.5相⽐于ID3改进的地⽅有: 1、⽤信息增益率来选择属性。 ID3选择属性⽤的是⼦树的信息增益,这⾥可以⽤很多⽅法来定义信息,ID3使⽤的是熵(entropy,熵是⼀种不纯度度量准则), 也就是熵的变化值. ⽽C4.5⽤的是信息增益率。对,区别就在于⼀个是信息增益,⼀个是信息增益率。 ⼀般来说率就是⽤来取平衡⽤的,就像⽅差起的作⽤差不多, ⽐如有两个跑步的⼈,⼀个起点是10m/s的⼈、其10s后为20m/s; 另⼀个⼈起速是1m/s、其1s后为2m/s。 如果紧紧算差值那么两个差距就很⼤了,如果使⽤速度增加率(加速度,即都是为1m/s^2)来衡量,2个⼈就是⼀样的加速度。 因此,C4.5克服了ID3⽤信息增益选择属性时偏向选择取值多的属性的不⾜。 2、在树构造过程中进⾏剪枝,在构造决策树的时候,那些挂着⼏个元素的节点,不考虑最好,不然容易导致overfitting。 3、对⾮离散数据也能处理。 4、能够对不完整数据进⾏处理。 ⼆、The k-means algorithm 即K-Means算法 k-means algorithm算法是⼀个聚类算法,把n的对象根据他们的属性分为k个分割(k < n)。 它与处理混合正态分布的最⼤期望算法(本⼗⼤算法第五条)很相似,因为他们都试图找到数据中⾃然聚类的中⼼。 它假设对象属性来⾃于空间向量,并且⽬标是使各个群组内部的均⽅误差总和最⼩。 三、 Support vector machines ⽀持向量机,英⽂为Support Vector Machine,简称SV机(论⽂中⼀般简称SVM)。 它是⼀种监督式学习的⽅法,它⼴泛的应⽤于统计分类以及回归分析中。 ⽀持向量机将向量映射到⼀个更⾼维的空间⾥,在这个空间⾥建⽴有⼀个最⼤间隔超平⾯。 在分开数据的超平⾯的两边建有两个互相平⾏的超平⾯,分隔超平⾯使两个平⾏超平⾯的距离最⼤化。 假定平⾏超平⾯间的距离或差距越⼤,分类器的总误差越⼩。 ⼀个极好的指南是C.J.C Burges的《模式识别⽀持向量机指南》。 van der Walt 和 Barnard 将⽀持向量机和其他分类器进⾏了⽐较。 四、The Apriori algorithm Apriori算法是⼀种最有影响的挖掘布尔关联规则频繁项集的算法。 其核⼼是基于两阶段频集思想的递推算法。 该关联规则在分类上属于单维、单层、布尔关联规则。 在这⾥,所有⽀持度⼤于最⼩⽀持度的项集称为频繁项集,简称频集。 五、最⼤期望(EM)算法 在统计计算中,最⼤期望 (EM,Expectation–Maximization)算法是在概率 (probabilistic)模型中寻找参数最⼤似然估计的算法,其中概率模型依赖于⽆法观测的隐藏变量(Latent Variabl)。 最⼤期望经常⽤在机器学习和计算机视觉的数据集聚(Data Clustering)领域。 六、 PageRank PageRank是Google算法的重要内容。2001年9⽉被授予美国专利,专利⼈是Google创始⼈之⼀拉⾥ 佩奇(Larry Page)。 因此,PageRank⾥的page不是指⽹页,⽽是指佩奇,即这个等级⽅法是以佩奇来命名的。 PageRank根据⽹站的外部链接和内部链接的数量和质量,衡量⽹站的价值。 PageRank背后的概念是,每个到页⾯的链接都是对该页⾯的⼀次投票,被链接的越多,就意味着被其他⽹站投票越多。 这个就是所谓的"链接流⾏度"——衡量多少⼈愿意将他们的⽹站和你的⽹站挂钩。 PageRank这个概念引⾃学术中⼀篇论⽂的被引述的频度——即被别⼈引述的次数越多,⼀般判断这篇论⽂的权威性就越⾼。 七、AdaBoost Adaboost是⼀种迭代算法,其核⼼思想是针对同⼀个训练集训练不同的分类器(弱分类器), 然后把这些弱分类器集合起来,构成⼀个更强的最终分类器 (强分类器)。 其算法本⾝是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确, 以及上次的总体分类的准确率,来确定每个样本的权值。 将修改过权值的新数据集送给下层分类器进⾏训练,最后将每次训练得到的分类器融合起来,作为最后的决策分类器。 ⼋、 kNN: k-nearest neighbor classification K最近邻(k-Nearest Neighbor,KNN)分类算法,是⼀个理论上⽐ 【大数据算法十大经典算法】 大数据算法中,有十种经典的算法在业界被广泛使用和研究。以下是这十大算法的简要介绍: 1. **C4.5**:C4.5是决策树算法的一种,是对ID3算法的改进。它采用信息增益率来选择最优属性,避免了ID3偏向于选择具有更多取值的属性的问题,同时支持处理非离散数据和不完整数据,并在构建决策树时进行剪枝以防止过拟合。 2. **K-Means算法**:这是一种聚类算法,将数据分为k个簇,目标是最小化群组内部的平方误差和。它适用于处理连续数据,通过迭代调整簇中心来达到最佳划分效果。 3. **支持向量机(SVM)**:SVM是一种监督学习方法,用于分类和回归分析。它通过构建最大间隔超平面将数据分开,以达到最小分类错误率。SVM通过将数据映射到高维空间,使得非线性可分问题变得线性可分。 4. **Apriori算法**:Apriori算法是关联规则学习的经典算法,用于挖掘频繁项集。它通过两阶段的频集思想递归地生成候选集并检测其支持度,从而找出满足最小支持度的频繁项集。 5. **最大期望(EM)算法**:EM算法用于估计概率模型的参数,尤其在存在隐藏变量的情况下。它在机器学习和计算机视觉的数据聚类中非常有用,通过迭代优化过程来最大化似然估计。 6. **PageRank**:PageRank是Google搜索引擎的核心算法,用于评估网页的重要性。它基于网页之间的链接关系,认为链接到一个页面的数量和质量反映了该页面的影响力,类似于学术论文的引用频率。 7. **AdaBoost**:AdaBoost是一种集成学习方法,通过迭代生成一系列弱分类器,并结合它们形成一个强分类器。它动态调整数据集中的样本权重,使得难以分类的样本在后续迭代中得到更多的关注。 8. **K近邻(k-NN)算法**:k-NN是一种懒惰学习方法,依据最近邻的原则进行分类。对于未知类别的新样本,它会根据其最近的k个邻居的类别进行投票决定其归属。 这些算法各自有着独特的优势和适用场景,是大数据分析和机器学习中的基石。理解和掌握这些算法对于提升数据分析能力至关重要。









