当前位置: 首页 > 科技观察

数据挖掘的10大算法我用大白话讲清楚了,新手一看就懂

时间:2023-03-21 17:06:38 科技观察

数据挖掘的Top10算法我已经用大白话解释清楚了,新手一看就懂另外,我们还需要掌握一些数据挖掘的思想,帮助我们挖掘出有价值的数据,这也是数据挖掘的差距之一分析专家和一般数据分析师。数据挖掘主要分为三类:分类算法、聚类算法和关联规则。这三大类基本涵盖了目前商业市场对算法的所有需求。而这三类包含了很多经典的算法。市面上很多关于数据挖掘算法的介绍都是深奥难懂的。今天,我将深入浅出地介绍数据挖掘十大经典算法的原理,帮助大家快速理解。算法分类连接分析:PageRank关联分析:Apriori分类算法:C4.5、NaiveBayesian、SVM、KNN、Adaboost、CART聚类算法:K-Means、EM1、PageRank当一篇论文被引用的次数越多,证明了这篇论文的影响力更大。一个网页的条目越多,传入链接的质量就越高,网页的质量也就越高。原理网页影响力=阻尼影响力+所有入站页面的加权影响力之和一个网页的影响力:所有入站页面的加权影响力之和。一个网页对其他网页的影响力贡献为:自身影响力/外链数。用户并不总是按照跳转链接的方式上网,还有其他的方式,比如直接输入网址访问。因此需要设置一个阻尼因子,它代表用户根据跳转链接上网的概率。比喻1.微博一个人的微博粉丝数量不一定等于他的实际影响力,还要看粉丝的质量。如果是丧尸粉没用,但如果被很多大V或者明星关注,影响力就非常高了。2.门店管理。顾客多的店质量好,但要看顾客是否值得信赖。3、兴趣:我会在自己感兴趣的人或事上花费比较多的时间,也会在与其相关的人或事上花费一定的时间。人或事受到的关注越多,其影响力/受众就越大。关于dampingfactor1,你的影响力是通过你的邻居的影响来判断的,但是如果你不能通过你的neighbors访问到,不代表你没有影响力,因为你可以直接访问到,所以dampingfactor的概念是介绍。2.除了流经海洋的河流,还有雨,但雨是随机的。3、阻尼系数的提出是为了解决某些网站明明有大量的出(入)链接,但其影响却非常大的情况。外链示例:hao123导航网页,外链太多,外链很少。入站链接示例:百度、谷歌等搜索引擎的入站链接非常多,出站链接很少。2.Apriori(关联分析)关联关系挖掘,从消费者交易记录中发现商品之间的关联关系。原理1.支持度是产品组合出现的次数与总次数的比值。5次购买,4次购买牛奶,牛奶的支持度为4/5=0.8。5次购买,3次购买牛奶+面包,牛奶+面包的支持度为3/5=0.6。2.置信度如果你购买产品A,购买产品B的概率是多少,当A发生时B发生的概率是多少?买了4次牛奶,其中2次买了啤酒,(牛奶->啤酒)的置信度为2/4=0.5。啤酒买了3次,牛奶买了2次。(啤酒->牛奶)的置信水平为2/3-0.67。3.提升度衡量产品A出现的概率对产品B出现的概率增加的程度。提升度(A->B)=置信度(A??->B)/支持度(B)。Lift>1,有增加;lift=1,没有变化;提升<1,减少。4.FrequentItemsetItemset:可以是单个商品,也可以是商品的组合。频繁项集是支持度大于最小支持度(MinSupport)的项集。计算过程1、从K=1开始,过滤频繁项集。2、在结果中,合并K+1个项集,再次过滤。3.循环1、2步。直到没有找到结果,K-1项集的结果就是最终的结果。扩展:FP-Growth算法Apriori算法需要多次扫描数据库,性能较低,不适合大数据量。FP-growth算法通过构建FP树的数据结构,将数据存储在FP树中。构建FP树时只需要扫描两次数据库,后续处理不需要再次访问数据库。比喻:啤酒和尿布一起卖。沃尔玛通过数据分析发现,在美国有宝宝的家庭中,通常妈妈在家照顾孩子,爸爸去超市买尿布。爸爸买尿布的时候,常常会奖励自己几瓶啤酒。因此,超市尝试推出啤酒和纸尿裤放在一起的促销方式。这一措施实际上导致纸尿裤和啤酒的销量大幅下降。3.AdaBoost的原理简单来说就是将多个弱分类器训练成为一个强分类器。一系列弱分类器以不同的权重比例组合作为最终的分类选择。计算过程1.初始化基本权重。2.奖励权重矩阵,通过现有分类器计算错误率,选择错误率最低的最优分类器。3、通过分类器权重公式,减少正确样本分布,增加错误样本分布,得到新的权重矩阵和当前k轮的分类器权重。4.将新的权重矩阵带入上述2、3步,重新计算权重矩阵。5.迭代N轮,记录每一轮的最终分类器权重,得到一个强分类器。比喻解释1、用错题提高学习效率做对题,下次少做,反正你就知道了。错题,下次多做题,把重点放在错题上。随着学习的深入,错题会越来越少。2、利润的合理跨界提升苹果软硬件结合占据了手机市场的大部分利润,两个领域的知识结合产生了新的收益。4.C4.5(决策树)决策是指一个问题有多个答案,选择一个答案的过程就是决策。C4.5算法是一种生成决策树的算法,主要用于分类。C4.5使用信息增益率计算(ID3算法使用信息增益计算)。原则C4.5选择最有效的方式对样本集进行拆分,拆分规则是分析所有属性的信息增益率。信息增益率越大,说明该特征的分类能力越强,我们应该优先考虑该特征进行分类。比喻描述:摘西瓜。拿到一个西瓜,首先要判断它的质地,如果模糊,则认为不是好瓜,如果清晰,则认为是好瓜,如果略微模糊,则考虑其密度,密度大于a一定的值,就认为是好瓜,否则就是坏瓜。5.CART(决策树)CART:ClassificationAndRegressionTree,中文叫做分类回归树,既可以做分类也可以做回归。什么是分类树和回归树?分类树:处理离散数据,即数据类型有限的数据,输出的是样本的类别。回归树:可以预测连续的值,输出的是一个值,这个值可能在某个区间内有值。回归问题的本质与分类问题相同,都是对一个输入进行输出预测,区别在于输出变量的类型。CART分类树的原理与C4.5算法类似,只是属性选择的指标是基尼系数。基尼系数反映了样本的不确定性,基尼系数越小,样本之间的差异越小,不确定性程度越低。分类是一个减少不确定性的过程。在构建分类树时,CART会选择基尼系数最小的属性作为属性划分。CART回归树以均方误差或绝对值误差为标准,选择均方误差或绝对值误差最小的特征。比喻说明分类:预测明天是阴天、晴天还是雨天。回归:预测明天的温度。6.朴素贝叶斯(条件概率)朴素贝叶斯是一种简单有效的常用分类算法,计算在未知物体出现的条件下每一类出现的概率,取概率最大的分类。该原则假设输入的不同特征是独立的。基于概率论原理,通过先验概率P(A)、P(B)和条件概率计算后验概率P(A|B)。P(A):先验概率,即在事件B发生之前对事件A发生概率的判断。P(B|A):条件概率,在另一个事件A已经发生的条件下,事件B发生的概率。P(A|B):后验概率,即B事件发生后对A事件发生概率的重新评估。比喻说明:对病人进行分类。给定一个新病人,一个打喷嚏的建筑工人,计算他感冒的概率。7.SVMSVM:SupportVectorMachine,中文名称为支持向量机,是一种常用的分类方法。它最初是为二元分类问题设计的。在机器学习中,SVM是一种监督学习模型。什么是监督学习和非监督学习?监督学习:即在已有类别标签的情况下,对样本数据进行分类。无监督学习:即在没有类别标签的情况下,将样本数据按照一定的方法进行分类,即聚类,分类后的类别需要进一步分析,学习每个类别的特征。其原理是找到间隔最小的样本点,然后拟合一条与这些样本点距离最大的线段/平面。硬区间:当数据呈线性分布时,直接给出分类。SoftMargin:允许一定数量的样本被错误分类。核函数:将非线性分布的数据映射到线性分布的数据。形象解释1.把桌子上的一堆红球和篮球分开用线把桌子上的红球和蓝球分成两部分。2.把盒子里的一堆红球和篮球分开用一个平面把盒子里的红球和蓝球分成两部分。8.KNN(聚类)是机器学习算法中最基本、最简单的算法之一,既能分类又能回归,通过度量不同特征值之间的距离来分类。原理是计算待分类对象与其他对象之间的距离。对于这K个最近邻,将数量最多的类别预测为分类对象的类别。计算步骤1.根据场景,选择一种距离计算方法,计算待分类物体与其他物体的距离。2.计算最近的K个邻居。3.对于这K个最近邻,预测数量最多的类别作为分类对象的类别。比喻释义:近朱砂则红;近朱砂则红;近朱砂则红。近墨则黑。九、K-Means(聚类)K-means是一种聚类算法,是一种无监督学习,生成并指定K个类,将每个对象分配到最近的聚类中心。原理1.随机选取K个点作为分类中心点。2.将每个点分配给最近的类,从而形成K类。3.重新计算每个类的中心点。比如同一个类别有10个点,那么新的中心点就是这10个点的中心点。一个简单的方法是取平均值。比喻说明1.选老板。大家随机抽取K个boss。谁离得最近就是排队的人(计算距离,离得最近的人聚集在一起)。随着时间的推移,boss的位置在变化(根据算法,重新计算中心点),直到真正的中心boss被选中(重复直到准确率最高)。2.Kmeans和Knn的区别Kmeans开始上课选boss,风水轮流转,直到选出最好的中心boss。Knn的弟弟加入了队伍,他离那个班级比较近,属于那个班级。10.EM(聚类)EM的英文是ExpectationMaximization,所以EM算法也叫最大期望算法,也是聚类算法的一种。EM和K-Means的区别:EM是计算概率,KMeans是计算距离。EM属于软聚类,同一个样本可能属于多个类别;而K-Means属于硬聚类,一个样本只能属于一个类别。所以前者可以发现一些隐藏的数据。该原理首先估计一个大概率可能的参数,然后根据数据不断调整,直到找到最终的确认参数。比喻描述:蔬菜称重。很少有人用秤来称量菜品,然后算出一半的重量来平分。大多数人的做法是:1.先把一部分分到A盘里,再把剩下的分到B盘里。2.观察A盘和B盘里的菜量是否一样,多分一些到少的盘子里.3、然后观察A盘和B盘的量是否相同,重复直到量不变为止。前10名算法已经完成。其实一般来说,常用的算法都已经封装在库里了,只要通过new生成对应的模型即可。