大数据十大经典算法讲解(ppt 33张)
- 格式:ppt
- 大小:2.97 MB
- 文档页数:34
十大经典大数据算法大数据算法是指应用于大规模数据集的算法,旨在从这些数据中提取有价值的信息和洞察力。
下面是十大经典大数据算法的介绍:1. MapReduce算法:MapReduce是一种用于处理大规模数据集的编程模型,它将任务分成多个子任务并在分布式计算环境中并行执行。
这种算法在Google的大数据处理框架Hadoop中得到广泛应用。
2. PageRank算法:PageRank是一种用于评估网页重要性的算法,通过分析网页之间的链接关系来确定网页的排名。
它在谷歌搜索引擎的排名算法中起到了重要作用。
3. Apriori算法:Apriori算法用于挖掘关联规则,通过发现数据集中的频繁项集来识别项目之间的关联。
该算法在市场篮子分析和推荐系统中有广泛应用。
4. k-means算法:k-means算法是一种聚类算法,用于将数据集划分为k个不重叠的簇。
该算法在数据挖掘和图像分析中常用于聚类分析。
5. 随机森林算法:随机森林是一种集成学习算法,通过构建多个决策树并对它们的结果进行投票来进行分类或回归。
该算法在数据挖掘和机器学习中常用于分类和预测问题。
6. SVM算法:支持向量机(SVM)是一种监督学习算法,用于进行分类和回归分析。
它通过构建一个最优的超平面来将不同类别的样本分开。
7. LDA算法:潜在狄利克雷分配(LDA)是一种用于主题建模的生成模型,用于从文本数据中发现隐藏的主题结构。
该算法在自然语言处理和信息检索中有广泛应用。
8. 特征选择算法:特征选择是一种用于从数据集中选择最相关特征的方法。
常用的特征选择算法包括信息增益、卡方检验和互信息等。
9. 随机梯度下降算法:随机梯度下降是一种用于优化模型参数的迭代优化算法。
该算法通过计算损失函数的梯度来更新模型参数,从而最小化损失函数。
10. 奇异值分解算法:奇异值分解(SVD)是一种矩阵分解方法,用于降低数据维度和提取数据的主要特征。
该算法在推荐系统和图像处理中常用于降维和特征提取。
⼗⼤经典排序算法(动图演⽰)0、算法概述0.1 算法分类⼗种常见排序算法可以分为两⼤类:⽐较类排序:通过⽐较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为⾮线性时间⽐较类排序。
⾮⽐较类排序:不通过⽐较来决定元素间的相对次序,它可以突破基于⽐较排序的时间下界,以线性时间运⾏,因此也称为线性时间⾮⽐较类排序。
0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前⾯,⽽a=b,排序之后a仍然在b的前⾯。
不稳定:如果a原本在b的前⾯,⽽a=b,排序之后 a 可能会出现在 b 的后⾯。
时间复杂度:对排序数据的总的操作次数。
反映当n变化时,操作次数呈现什么规律。
空间复杂度:是指算法在计算机内执⾏时所需存储空间的度量,它也是数据规模n的函数。
1、冒泡排序(Bubble Sort)冒泡排序是⼀种简单的排序算法。
它重复地⾛访过要排序的数列,⼀次⽐较两个元素,如果它们的顺序错误就把它们交换过来。
⾛访数列的⼯作是重复地进⾏直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越⼩的元素会经由交换慢慢“浮”到数列的顶端。
1.1 算法描述⽐较相邻的元素。
如果第⼀个⽐第⼆个⼤,就交换它们两个;对每⼀对相邻元素作同样的⼯作,从开始第⼀对到结尾的最后⼀对,这样在最后的元素应该会是最⼤的数;针对所有的元素重复以上的步骤,除了最后⼀个;重复步骤1~3,直到排序完成。
1.2 动图演⽰1.3 代码实现function bubbleSort(arr) {var len = arr.length;for (var i = 0; i < len - 1; i++) {for (var j = 0; j < len - 1 - i; j++) {if (arr[j] > arr[j+1]) { // 相邻元素两两对⽐var temp = arr[j+1]; // 元素交换arr[j+1] = arr[j];arr[j] = temp;}}}return arr;}2、选择排序(Selection Sort)选择排序(Selection-sort)是⼀种简单直观的排序算法。
⼤数据算法⼗⼤经典算法⼀、C4.5C4.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)。