数据挖掘常用算法

一,大数据常用算法
*

一,PageRank*

	当一篇论文被引用的次数越多,证明这篇论文的影响力越大。
	一个网页的入口越多,入链越优质,网页的质量越高。
	**原理**
	**网页的影响力**=**阻尼影响力+所有入链集合页面的加权影响力之和。**
	· 一个网页的影响力:所有入链的页面的加权影响力之和。
	· 一个网页对其他网页的影响力贡献为:自身影响力/出链数量。
	· 用户并不都是按照跳转链接的方式来上网,还有其他的方式,比如直接输入网址访问,所以需要设定阻尼因子,代表了用户按照跳转链接来上网的概率。

二,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)的项集。

计算过程
1,从K=1开始,筛选频繁项集。
2,在结果中,组合K+1项集,再次筛选。
3,循环1,2步。直到找不到结果为止,K-1项集的结果就是最终结果。
扩展:Fp_Growth算法
Apriori算法需要多次扫描数据库,性能低下,不适合大数据量。
FP-growth算法,通过构建FP树的数据结构,将数据存储在Fp树中,只需在构建Fp树时扫描数据库两次,后续处理就不需要再访问数据库了。
比喻说明:啤酒和尿不湿摆在一起销售。

三,AdaBoost

原理
简单来说,将多个弱分类器训练成为一个强分类器。
将一系列的弱分类器以不同的权重比组合作为最终分类选择。
计算过程
1.初始化基础权重。
2.奖权重矩阵,通过已知的分类器计算错误率,选择错误率最低的为最优分类器。
3.通过分类器权重公式,减少正确样本分布,增加错误样本分布,得到新的权重矩阵和当前K轮的分类器权重。
4.将新的权重矩阵,带入上面的不住2和3 重新计算权重矩阵。
5。迭代N轮,记录每一轮的最终分类器权重,得到强分类器。

四,C4.5(决策树)

决策就是对于一个问题,有多个答案,选择答案的过程就是决策。
C4.5算法是用于产生决策树的算法,主要用于分类。
C4.5使用信息增益率做计算(ID3算法使用信息增益做计算)

原理
C4.5选择最有效的方式对样本集进行分裂,分裂规则是分析所有属性的信息增益率。
信息、增益率越大,意味着这个特征分类的能力越强,我们就要优先选择这个特征做分类。
比喻说明:挑西瓜
拿到一个西瓜,先判断它的纹路,如果很模糊,就认为这不是好瓜,如果它清晰,就认为他是好瓜,如果它稍稍模糊,就考虑它的密度,如果密度大于某个值就认定它是好瓜,否则就是坏瓜。

五,CART(决策树)

CART:Classification And Regression Tree 中文叫分类回归树,既可以做分类也可以做回归。
什么是分类树,回归树。
分类树:处理离散数据,也就是数据种类有限的数据,输出的样本的类别。
回归树:可以对连续型的数值进行预测,输出的是一个数值,数值再某个区间内都有取值的可能。
回归问题和分类问题的本质一样,都是针对一个输入做出一个输出预测,其区别在于输出变量的类型。
原理
CART分类树
与C4.5算法类似,只是属性选择的指标是基尼系数。
基尼系数反映了样本的不确定度,基尼系数越小,说明样本之间的差异性小,不确定程度低。
分类是一个不确定度降低的过程,CART在构造分类树的时候会选择基尼系数最小的属性作为属性的划分。
CART回归树
采用均方误差或绝对值误差为标准,选取均方误差或绝对值误差最小的特征。
比喻说明:
分类:预测明天是阴,晴,还是雨。
回归:预测明天的温度是多少。

六,朴素贝叶斯(条件概率)

数据分析中最简单最有效最基础的算法
通过偶素贝叶斯的公式,我们可以得到一件事情发生的概率。

朴素贝叶斯是一种简单有效的常用分类算法,计算未知物体出现的条件下各个类别出现的概率,取概率最大的分类。
原理
假设输入的不同特征之间是独立的,基于概率论原理,通过先验概率P(A),P(B)和条件概率推算出后概率出P(A|B)
P(A):先验概率,即在B事件发生之前,对A事件概率的一个判断。
P(B|A);条件概率,事件B在另外一个事件A已经发生条件下的发生概率。
P(A|B):后验概率,即在B事件发生之后,对A事件概率的重新评估。

比喻说明:
某大学曾经的研究显示:我们从某新闻网站的20个不同板块中,每个板块抽十篇文章。
1.那么我们猜中某篇文章属于那个板块的概率为:5%;
2.我们选取新闻网站不同板块的文章,进行分析每个关键字在不同板块出现的频率,然后分析我们抽取到的那篇文章关键字出现的情况,在这种情况下猜中这个篇文章属于那个板块的概率为:59%;

七,SVM

svm:Support Vector Machine,中文名为支持向量机,是常见的一种分类方法,最初是二分类问题设计的,在机器学习中,SVM是有监督的学习模型。
有监督学习和无监督学习
有监督学习:即在已有类别标签的情况下,将样本数据进行分类。
无监督学习:即在无类别标签的情况下,样本数据根据一定的方法进行分类,即聚类,分类好的类别需要进一步分析后,从而得知每个类别的特点。

原理

找到具有最小间隔的样本点,然后拟合出一个到这些样本点距离和最大的线段/平面。
硬间隔:数据是线性分布的情况,直接给出分类。
软间隔:允许一定量的样本分类错误
核函数:非线性分布的数据映射为线性分布的数据。

比喻说明
1.分隔桌上一堆红球和蓝球
用一根线将桌上的红球和蓝球分成两部分。
2.分隔箱子里一堆红球和蓝球
用一个平面将箱子里的红球和蓝球分成两部分。

八,KNN(聚类)

机器学习算法中最基础,最简单的算法之一,既能分类也能回归,通过测量不同特征值之间的距离来进行分类。
原理
计算待分类物体与其他物体之间的距离,对于k个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。
计算步骤
1.根据场景,选取距离计算方式,计算待分类物体与其他物体之间的距离。
2.统计距离最近的k个邻居。
3.对于k个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。
比喻说明:近朱者赤,近墨者黑。

九,K-Means(聚类)

K-Means是一个聚类算法,是无监督学习,生成指定K个类,把每个对象分配给距离最近的聚类中心。
原理
1.随机选取K个点为分类的中心点。
2.将每个点分配到最近的类,这样形成了K个类。
3.重新计算每个类的中心点。比如都属于同一个类别里面有10个点,那么新的中心点就是这10个点的中心点,一种简单的方式就是平均值。
比喻说明
1.选老大
大家随机选K个老大,谁离得近,就是那个队列的人(计算距离,距离近的人聚合在一起)。随着时间的推移,老大的位置在变化(根据算法,重新计算中心点),直到选出真正的中心老大(重复,直到准确率最高)。
2.Kmeans和kun的区别
Kmeans开班选老大,风水轮流转,直到选出最佳中心老大。
knn小弟加队伍,离那个班相对较近,就是那个班的。

十,EM(聚类)

EM的英文是 Expectation Maximization,所以EM算法也叫最大期望算法,也是聚类算法的一种。
EM和K-Means的区别:
1.EM是计算概率,KMeans是计算距离。
2.EM属于软聚类,同一样本可能属于多个类别;而K-Means属于硬聚类,一个样本只能属于一个类别,所以前者能够发现一些隐藏的数据。
原理
先估计一个大概率的可能参数,然后再根据数据不断地进行调整,直到找到最终的确认参数。
说明:菜称重
很少有人在用称对菜称重时,先称整个重量,再计算一半的分量进行平分。
大部分人的方法是:
1.先分一部分到碟子A中,再把剩余的分到碟子B中。
2.观察碟子A和B里的菜是否一样多,那个多就匀一些到少的那个碟子里。
3.然后再观察碟子A和B里的是否一样多,重复下去,直到分量不发生变化为止。

你可能感兴趣的:(数据挖掘常用算法)