数据挖掘领域十大经典算法初探

一、C4.5

C4.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)。

它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。

支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。

在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化。

假定平行超平面间的距离或差距越大,分类器的总误差越小。

一个极好的指南是C.J.C Burges的《模式识别支持向量机指南》。

van der Walt  Barnard 将支持向量机和其他分类器进行了比较。

 

四、The Apriori algorithm

Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。

其核心是基于两阶段频集思想的递推算法。

该关联规则在分类上属于单维、单层、布尔关联规则。

在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。

 

五、最大期望(EM)算法

在统计计算中,最大期望 EMExpectation–Maximization)算法是在概率

probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。

最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。

 

六、 PageRank

PageRankGoogle算法的重要内容。20019月被授予美国专利,专利人是Google创始人之一拉里•佩奇(Larry Page)。

因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。

PageRank根据网站的外部链接和内部链接的数量和质量,衡量网站的价值。

PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票, 被链接的越多,就意味着被其他网站投票越多。

这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。

PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次数越多,一般判断这篇论文的权威性就越高。

 

七、AdaBoost

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器)

然后把这些弱分类器集合起来,构成一个更强的最终分类器 (强分类器)

其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,

以及上次的总体分类的准确率,来确定每个样本的权值。

将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器融合起来,作为最后的决策分类器。

 

八、 kNN: k-nearest neighbor classification

K最近邻(k-Nearest NeighborKNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。

该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的

大多数属于某一个类别,则该样本也属于这个类别。

 

九、 Naive Bayes

在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)

朴素贝叶斯模型(Naive Bayesian ModelNBC)。 

朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。

同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。

理论上,NBC模型与其他分类方法相比具有最小的误差率。

但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中

往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之

间相关性较大时,NBC模型的分类效率比不上决策树模型。

而在属性相关性较小时,NBC模型的性能最为良好。

 

十、 CART: 分类与回归树

CART, Classification and Regression Trees 在分类树下面有两个关键的思想:第一个

是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。

ok,日后择其一二详细研究、阐述,完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF MVVM实例三

在没给大家讲解wpf mwm示例之前先给大家简单说下MVVM理论知识&#xff1a;WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的&#xff0c;WPF提供了数据绑定机制&#xff0c;当数据发生变化时&#xff0c;WPF会自动发出通知去更新UI。我们使用模式…

linux命令chown和chmod什么区别

chown一般用来 更改属主。也就是文件所属用户。chmod功能要比chown要强大。可更改文件所有属性和权限。只有管理员账户才有权限用此命令。chown 是修改文件的所有者(owner),和所属组(group)chmod 是修改文件的执行属性(所属组,所属者以及其他人所有的权限,比如 读,写,执行)

stringcstdlibctimecstdargctimectypecmathclimits

转载地址&#xff1a;http://blog.csdn.net/kz_ang/article/details/7767335 <string>头文件 string构造函数 string s  生成一个空字符串s string s(str)  拷贝构造函数,生成str对象的复制品 string s(str,stridx)  将字符串str对象内"始于位置stridx"…

背包模板

背包模板&#xff0c;自己总结&#xff0c;做题可直接套用。 0-1背包 有N件物品和一个容量为V的背包。第i件物品的费用是c[i]&#xff0c;价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 公式&#xff1a; f[i][v]max{f[i-1][v],f[i-1][v-c[i]]w[i]} 伪代码&#xff1a…

C3P0 释放连接 的问题

2019独角兽企业重金招聘Python工程师标准>>> 记录一下使用C3P0 时犯的低级错误&#xff0c;没有关闭connection 达到连接池最大限制后造成程序假死的现象&#xff0c;以后得仔细再仔细了&#xff01; 转载于:https://my.oschina.net/fusxian/blog/146700

python随机抽取人名_python的random

python的random函数更多的random用法可参阅&#xff1a;random --- 生成伪随机数 - Python 3.7.4 文档​docs.python.org以下使用了&#xff1a;洗牌&#xff1a;random.shuffle随机抽取元素&#xff0c;且元素不重复&#xff1a;random.sample随机抽取元素&#xff0c;且元素可…

PL/SQL Developer使用技巧总结

1、PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时&#xff0c;为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码&#xff1b; 设置方法&#xff1a;PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History &#xff0c; “…

Windows 11/10 正式版全新 ISO 镜像下载

微软现已发布 Windows 11/10 正式版&#xff08;版本 21H2&#xff09;全新 ISO 镜像。Windows 11 版本 21H2 全新镜像集成了 2021 年 10 月更新、11 月更新和 12 月更新。Windows 10 版本 21H2 全新镜像集成了 2021 年 11 月更新和 12 月更新。版本区别Windows 11/10 消费者版…

Android延时执行调用的几种方法

一、开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start二、利用定时器 TimerTask task new TimerTask(){ public void run(){ //execute the task } }; Ti…

删除字符串中出现次数最少的字符

题目 描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 题目类别: 字符串 难度: 中级 运行时间限制: 10Sec 内存限制: 128MByte 阶段: 入职前练习 输入: 字符串只包含小写…

java web filter 之一 基础实现

本文主要对filter的基本使用进行了讲解&#xff0c;其中涉及到了 filter是什么 一个filter处理一个jsp 多个filter处理一个jsp filter是什么 Filter 是java下的一种过滤器 &#xff0c;能实现对java web程序 客户端和服务器端消息的过滤&#xff0c;也就是在服务器段接受reques…

eclipse索引4超出范围_Python内置的4个重要基本数据结构:列表、元组、字典和集合

本章内容提要&#xff1a;列表及操作元组及操作字典及操作集合简介第2章介绍了数字(整数、浮点数)、逻辑值和字符串等Python内置的基本数据类型。在实际的操作中&#xff0c;仅仅依赖它们很难高效地完成复杂的数据处理任务。基于对基本数据类型的构建&#xff0c;Python拓展出列…

.NET 6 中 System.Text.Json 的新特性

1支持忽略循环引用在 .NET 6 之前&#xff0c;如果 System.Text.Json 检测到循环引用&#xff0c;就会抛出 JsonException 异常。在 .NET 6 中&#xff0c;你可以忽略它们。Category dotnet new() {Name ".NET 6", }; Category systemTextJson new() {Name "…

Java基础知识回顾--线程

基本概念 线程是一个程序内部的顺序控制流 Java的线程是通过java.lang.Thread类来实现的。main函数是一个主线程&#xff0c;用户可以通过创建Thread的实例来创建新的线程。每一个线程都必须实现run方法。通过Thread类的start方法来启动一个线程。 两种方式实现&#xff0c;一…

读书笔记:季羡林关于如何做研究学问的心得

以下的内容摘自&#xff1a; 季羡林 (2010-02-01). 牛棚杂忆(季羡林作品珍藏本)(图文版) (Kindle Locations 2701-2706). . Kindle Edition. 我记得&#xff0c;鲁迅先生在一篇文章中讲了一个笑话&#xff1a;一个江湖郎中在市集上大声吆喝&#xff0c;叫卖治臭虫的妙方。有人…

四、物理优化(1)范式化

一、范式化的概念范式化&#xff08;Normalization&#xff09;的目标是消除数据冗余&#xff0c;减小物理存储空间。常用的范式有以下3种&#xff1a;1. 第一范式&#xff08;1NF&#xff09;在任何一个关系数据库中&#xff0c;1NF是对关系模式的基本要求&#xff0c;不满足1…

​如何在图书馆收获一段爱情?​

1 你为什么不喜欢拍照片&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 当登记处挂起横幅▼3 这几天老是犯的错误▼4 在图书馆收获的爱情&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼5 当老师用键盘讲课&#xff08;素材来源网络&#xff0c;侵删&a…

坐标移动

题目 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非…