机器学习10大经典算法详解


Posted in Python onDecember 07, 2017

本文为大家分享了机器学习10大经典算法,供大家参考,具体内容如下

1、C4.5

C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.  C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

     1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

    2)在树构造过程中进行剪枝;

    3)能够完成对连续属性的离散化处理;

    4)能够对不完整数据进行处理。

C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。 

2、The k-means algorithm即K-Means算法

k-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。 

3、Support vector machines支持向量机

支持向量机(Support Vector Machine),简称SV机(论文中一般简称SVM)。它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。一个极好的指南是C.J.C Burges的《模式识别支持向量机指南》。van der Walt和Barnard将支持向量机和其他分类器进行了比较。 

4、The Apriori algorithm

Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。 

5、最大期望(EM)算法

在统计计算中,最大期望(EM,Expectation?Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。 

6、PageRank网页排名

PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。

PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次数越多,一般判断这篇论文的权威性就越高。 

7、AdaBoost

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。 

8、kNN: k-nearest neighbor classification

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 

9、Naive Bayes朴素贝叶斯

在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。 

10、CART:分类与回归树

CART, Classification and Regression Trees。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用python程序帮大家清理windows垃圾
Jan 15 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
微信跳一跳python自动代码解读1.0
Jan 12 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
Python高级property属性用法实例分析
Nov 19 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Python filter过滤器原理及实例应用
Aug 18 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 Python
Python排序函数的使用方法详解
Dec 11 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
Python如何识别银行卡卡号?
Jun 10 Python
python小型的音频操作库mp3Play
Apr 24 Python
机器学习的框架偏向于Python的13个原因
Dec 07 #Python
python编程线性回归代码示例
Dec 07 #Python
基于Django的ModelForm组件(详解)
Dec 07 #Python
利用python编写一个图片主色转换的脚本
Dec 07 #Python
python八大排序算法速度实例对比
Dec 06 #Python
Python语言实现将图片转化为html页面
Dec 06 #Python
Python实现比较扑克牌大小程序代码示例
Dec 06 #Python
You might like
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python学习之matplotlib绘制散点图实例
2017/12/09 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
解决python3爬虫无法显示中文的问题
2018/04/12 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
英国大码女性时装零售商:Evans
2018/08/29 全球购物
别名指示符是什么
2012/10/08 面试题
优秀毕业生求职信范文
2014/01/02 职场文书
推荐信怎么写
2014/05/09 职场文书
导师工作推荐信范文
2014/05/17 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
介绍信的写法
2015/01/31 职场文书