一个优秀的数据分析师,除了要掌握基本的统计学、数据库、数据分析方法、思惟、数据分析工具技能以外,还须要掌握一些数据挖掘的思想,帮助咱们挖掘出有价值的数据,这也是数据分析专家和通常数据分析师的差距之一。算法
数据挖掘主要分为分类算法,聚类算法和关联规则三大类,这三类基本上涵盖了目前商业市场对算法的全部需求。而这三类里又包含许多经典算法。市面上不少关于数据挖掘算法的介绍深奥难懂,今天就给你们用简单的大白话来介绍数据挖掘十大经典算法原理,帮助你们快速理解。数据库
算法分类数据结构
链接分析:PageRank机器学习
关联分析:Apriori函数
分类算法:C4.5,朴素贝叶斯,SVM,KNN,Adaboost,CART工具
聚类算法:K-Means,EM性能
1、PageRank
当一篇论文被引用的次数越多,证实这篇论文的影响力越大。学习
一个网页的入口越多,入链越优质,网页的质量越高。大数据
原理网站
网页影响力=阻尼影响力+全部入链集合页面的加权影响力之和
一个网页的影响力:全部入链的页面的加权影响力之和。
一个网页对其余网页的影响力贡献为:自身影响力/出链数量。
用户并不都是按照跳转连接的方式来上网,还有其余的方式,好比直接输入网址访问。
因此须要设定阻尼因子,表明了用户按照跳转连接来上网的几率。
比喻说明
一、微博
一我的的微博粉丝数不必定等于他的实际影响力,还须要看粉丝的质量如何。
若是是僵尸粉没什么用,但若是是不少大V或者明星关注,影响力很高。
二、店铺的经营
顾客比较多的店铺质量比较好,可是要看看顾客是否是托。
三、兴趣
在感兴趣的人或事身上投入了相对多的时间,对其相关的人事物也会投入必定的时间。那我的或事,被关注的越多,它的影响力/受众也就越大。
关于阻尼因子
一、经过你的邻居的影响力来评判你的影响力,可是若是不能经过邻居来访问你,并不表明你没有影响力,由于能够直接访问你,因此引入阻尼因子的概念。
二、海洋除了有河流流经,还有雨水,可是下雨是随机的。
三、提出阻尼系数,仍是为了解决某些网站明明存在大量出链(入链),可是影响力却很是大的情形。
出链例子: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)。
提高度>1,有提高;提高度=1,无变化;提高度<1,降低。
4.频繁项集
项集:能够是单个商品,也能够是商品组合。
频繁项集是支持度大于最小支持度(Min Support)的项集。
计算过程
一、从K=1开始,筛选频繁项集。
二、在结果中,组合K+1项集,再次筛选。
三、循环1,2步。直到找不到结果为止,K-1项集的结果就是最终结果。
扩展:FP-Growth 算法
Apriori 算法须要屡次扫描数据库,性能低下,不适合大数据量。
FP-growth算法,经过构建 FP 树的数据结构,将数据存储在 FP 树中,只须要在构建 FP 树时扫描数据库两次,后续处理就不须要再访问数据库了。
比喻说明:啤酒和尿不湿摆在一块儿销售
沃尔玛经过数据分析发现,美国有婴儿的家庭中,通常是母亲在家照顾孩子,父亲去超市买尿不湿。
父亲在购买尿不湿时,经常会顺便搭配几瓶啤酒来犒劳本身,因而,超市尝试推出了将啤酒和尿不湿摆在一块儿的促销手段,这个举措竟然使尿不湿和啤酒的销量都大幅增长。
3、AdaBoost
原理
简单的说,多个弱分类器训练成为一个强分类器。
将一系列的弱分类器以不一样的权重比组合做为最终分类选择。
计算过程
一、初始化基础权重。
二、奖权重矩阵,经过已的分类器计算错误率,选择错误率最低的为最优分类器。
三、经过分类器权重公式,减小正确样本分布,增长错误样本分布,获得新的权重矩阵和当前k轮的分类器权重。
四、将新的权重矩阵,带入上面的步骤2和3,从新计算权重矩阵。
五、迭代N轮,记录每一轮的最终分类器权重,获得强分类器。
比喻说明
一、利用错题提高学习效率
作正确的题,下次少作点,反正都会了。
作错的题,下次多作点,集中在错题上。
随着学习的深刻,作错的题会愈来愈少。
二、合理跨界提升盈利
苹果公司,软硬结合,占据了大部分的手机市场利润,两个领域的知识结合起来产生新收益。
4、C4.5(决策树)
决策就是对于一个问题,有多个答案,选择答案的过程就是决策。
C4.5算法是用于产生决策树的算法,主要用于分类。
C4.5使用信息增益率作计算(ID3算法使用信息增益作计算)。
原理
C4.5选择最有效的方式对样本集进行分裂,分裂规则是分析全部属性的信息增益率。
信息增益率越大,意味着这个特征分类的能力越强,咱们就要优先选择这个特征作分类。
比喻说明:挑西瓜。
拿到一个西瓜,先判断它的纹路,若是很模糊,就认为这不是好瓜,若是它清晰,就认为它是一个好瓜,若是它稍稍模糊,就考虑它的密度,密度大于某个值,就认为它是好瓜,不然就是坏瓜。
5、CART(决策树)
CART:Classification And Regression Tree,中文叫分类回归树,便可以作分类也能够作回归。
什么是分类树、回归树?
分类树:处理离散数据,也就是数据种类有限的数据,输出的是样本的类别 。
回归树:能够对连续型的数值进行预测,输出的是一个数值,数值在某个区间内都有取值的可能。
回归问题和分类问题的本质同样,都是针对一个输入作出一个输出预测,其区别在于输出变量的类型。
原理
CART分类树
与C4.5算法相似,只是属性选择的指标是基尼系数。
基尼系数反应了样本的不肯定度,基尼系数越小,说明样本之间的差别性小,不肯定程度低。
分类是一个不肯定度下降的过程,CART在构造分类树的时候会选择基尼系数最小的属性做为属性的划分。
CART 回归树
采用均方偏差或绝对值偏差为标准,选取均方偏差或绝对值偏差最小的特征。
比喻说明
分类:预测明天是阴、晴仍是雨。
回归:预测明天的气温是多少度。
6、朴素贝叶斯(条件几率)
朴素贝叶斯是一种简单有效的经常使用分类算法,计算未知物体出现的条件下各个类别出现的几率,取几率最大的分类。
原理
假设输入的不一样特征之间是独立的,基于几率论原理,经过先验几率P(A)、P(B)和条件几率推算出后几率出P(A|B)。
P(A):先验几率,即在B事件发生以前,对A事件几率的一个判断。
P(B|A):条件几率,事件 B 在另一个事件 A 已经发生条件下的发生几率。
P(A|B):后验几率,即在B事件发生以后,对A事件几率的从新评估。
比喻说明:给病人分类。
给定一个新病人,是一个打喷嚏的建筑工人,计算他患感冒的几率。
7、SVM
SVM:Support Vector Machine,中文名为支持向量机,是常见的一种分类方法,最初是为二分类问题设计的,在机器学习中,SVM 是有监督的学习模型。
什么是有监督学习和无监督学习 ?
有监督学习:即在已有类别标签的状况下,将样本数据进行分类。
无监督学习:即在无类别标签的状况下,样本数据根据必定的方法进行分类,即聚类,分类好的类别须要进一步分析后,从而得知每一个类别的特色。
原理
找到具备最小间隔的样本点,而后拟合出一个到这些样本点距离和最大的线段/平面。
硬间隔:数据是线性分布的状况,直接给出分类。
软间隔:容许必定量的样本分类错误。
核函数:非线性分布的数据映射为线性分布的数据。
比喻说明
1.分隔桌上一堆红球和篮球
用一根线将桌上的红球和蓝球分红两部分。
2.分隔箱子里一堆红球和篮球
用一个平面将箱子里的红球和蓝球分红两部分。
8、KNN(聚类)
机器学习算法中最基础、最简单的算法之一,既能分类也能回归,经过测量不一样特征值之间的距离来进行分类。
原理
计算待分类物体与其余物体之间的距离,对于K个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。
计算步骤
一、根据场景,选取距离计算方式,计算待分类物体与其余物体之间的距离。
二、统计距离最近的K个邻居。
三、对于K个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。
比喻说明:近朱者赤,近墨者黑。
9、K-Means(聚类)
K-means是一个聚类算法,是无监督学习,生成指定K个类,把每一个对象分配给距离最近的聚类中心。
原理
1.随机选取K个点为分类中心点。
2.将每一个点分配到最近的类,这样造成了K个类。
3.从新计算每一个类的中心点。好比都属于同一个类别里面有10个点,那么新的中心点就是这10个点的中心点,一种简单的方式就是取平均值。
比喻说明
1.选老大
你们随机选K个老大,谁离得近,就是那个队列的人(计算距离,距离近的人聚合在一块儿)。
随着时间的推移,老大的位置在变化(根据算法,从新计算中心点),直到选出真正的中心老大(重复,直到准确率最高)。
2.Kmeans和Knn的区别
Kmeans开班选老大,风水轮流转,直到选出最佳中心老大。
Knn小弟加队伍,离那个班相对近,就是那个班的。
10、EM(聚类)
EM 的英文是 Expectation Maximization,因此 EM 算法也叫最大指望算法,也是聚类算法的一种。
EM和K-Means的区别:
EM是计算几率,KMeans是计算距离。
EM属于软聚类,同同样本可能属于多个类别;而K-Means属于硬聚类,一个样本只能属于一个类别。因此前者可以发现一些隐藏的数据。
原理
先估计一个大几率的可能参数,而后再根据数据不断地进行调整,直到找到最终的确认参数。
比喻说明:菜称重。
不多有人用称对菜进行称重,再计算一半的份量进行平分。
大部分人的方法是:
一、先分一部分到碟子 A 中,再把剩余的分到碟子 B 中。
二、观察碟子 A 和 B 里的菜是否同样多,哪一个多就匀一些到少的那个碟子里。
三、而后再观察碟子 A 和 B 里的是否同样多,重复下去,直到分量不发生变化为止。
10大算法都已经说完了,其实通常来讲,经常使用算法都已经被封装到库中了,只要new出相应的模型便可。