数据挖掘十大经典算法(包括各自优缺点 / 适用数据场景)

article/2025/10/19 22:20:30

本文主要分析皆来自其他资料,借用较为权威的总结来对我已经学习的这些经典算法做一个极为精简的概述(根据自身经验有一定修改),另外同时附上机器学习实战中作者对各种算法的评价。另外机器学习实战这本书是本人看了这么多书籍或者资料中唯一一本坚持从头看到尾,看完了的书籍,包括其中的代码皆实践运行过,收获颇多,个人认为虽然这本书时间上已经算是老资料了,但其中作者的各种总结和代码的演练都由浅入深(前提还是要有一点基础的),让我能看懂并能从中学到东西,可能当时很多东西比较熟悉,后来淡忘,但当再次接触或使用它时能很快的重拾,所以如果你需要一门较为优秀的教材作为机器学习的入门资料我会推荐给你《机器学习实战》。

以下为主要内容:

国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.

不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。

 

1. C4.5

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

1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
    2) 在树构造过程中进行剪枝;
    3) 能够完成对连续属性的离散化处理;
    4) 能够对不完整数据进行处理。

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

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。 在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法(二元切分法);第二个想法是用验证数据进行剪枝(预剪枝、后剪枝)。在回归树的基础上的模型树构建难度可能增加了,但同时其分类效果也有提升。

 

参考书籍:《机器学习实战》

参考文章:https://blog.csdn.net/u010983763/article/details/70854469


http://chatgpt.dhexx.cn/article/eHx1yjU4.shtml

相关文章

一文弄懂数据挖掘的十大算法,数据挖掘算法原理讲解

​一个优秀的数据分析师不仅要掌握基本的统计、数据库、数据分析方法、思维、数据分析工具和技能&#xff0c;还要掌握一些数据挖掘的思路&#xff0c;帮助我们挖掘出有价值的数据&#xff0c;这也是数据分析专家和一般数据分析师的差距之一。 数据挖掘主要分为三类&#xff1a…

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

一、什么是数据挖掘&#xff1f; 数据挖掘是人工智能和数据库领域研究的热点问题&#xff0c;所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程&#xff0c;它主要基于人工智能、机器学习、模式识别、…

数据挖掘的10大算法

一个优秀的数据分析师,除了要掌握基本的统计学、数据库、数据分析方法、思维、数据分析工具技能之外,还需要掌握一些数据挖掘的思想,帮助我们挖掘出有价值的数据,这也是数据分析专家和一般数据分析师的差距之一。 数据挖掘主要分为分类算法,聚类算法和关联规则三大类,这…

数据挖掘十大经典算法,你都知道哪些?

当前时代大数据炙手可热&#xff0c;数据挖掘也是人人有所耳闻&#xff0c;但是关于数据挖掘更具体的算法&#xff0c;外行人了解的就少之甚少了。 数据挖掘主要分为分类算法&#xff0c;聚类算法和关联规则三大类&#xff0c;这三类基本上涵盖了目前商业市场对算法的所有需求…

Vim编辑器(二)

Vim编辑器&#xff08;二&#xff09; 一、Vim编辑器概述1、vi编辑器2、vi与Vim编辑器 二、Vim编辑器的三种模式&#xff08;重点&#xff09;1、三种模式2、三种模式之间的关系&#xff1a;3、Vim打开文件的四种方式 三、命令模式1、光标移动① 光标移动到行首与行尾② 翻屏③…

Vim编辑器使用

什么是vim? Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。简单的来说&#xff0c; vi 是老式的字处理器&#xff0c;不过功能已经很齐全了&#xff0c;但是还是有可以进步的地方。 vim 则可以说…

Linux之vim编辑器的使用

目录 一、vim是什么&#xff1f; 试验1&#xff1a; 二.命令模式继承用法&#xff1a; vim命令模式的快捷键: 光标移动: vim文本复制相关操作: vim文本编辑操作: 三.末行模式命令用法 部分快捷键&#xff1a; 四.vim编辑器的配置原理 一、vim是什么&#xff1f; vi…

linux之《vim编辑器》

目录 一.vim的基本概念 ​编辑 命令模式&#xff08;Normal mode&#xff09; 插入模式&#xff08;Insert mode&#xff09; 末行模式&#xff08;last line mode&#xff09; 三者的转换图 二.vim的基本操作 1. 命令模式 2. 插入模式 3. 尾行模式 三. 简单vim配置…

Linux中vi与vim编辑器

初始化的Linux虚拟机是没有vim编辑器的&#xff0c;需要手动下载安装&#xff1a; vim安装命令&#xff1a; yum -y install vim vi profile 打开文件&#xff0c;并将光标置于第8行 vi 8 profile 打开最后一行 vi profile 按n查找下一个&#xff0c;按N查找上一个 打开…

Vim编辑器使用技巧

此文章适合学生、泛linux领域开发运维人员、linux爱好者阅读&#xff0c;希望通过此文章可以帮助大家更轻松的使用vim编辑器。 vim编辑器是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器&#xff0c;在Vi的基础上改进和增加了很多特性。vim是自由软件。vim普遍被推崇为…

编辑器之神——vim编辑器

编辑器之神——vim编辑器 一、vi介绍 Vi编辑器是所有Unix及Linux系统下标准的编辑器&#xff0c;类似于windows系统下的notepad&#xff08;记事本&#xff09;编辑器&#xff0c;由于在Unix及Linux系统的任何版本&#xff0c;Vi编辑器是完全相同的&#xff0c;因此可以在其他…

Linux之如何使用Vim编辑器

什么是Vim编辑器 Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 Linux中必须要会使用Vim&#xff08;查看内容&#xff0c;编辑内容&#xff0c;保存内容&#xff09; 简单的来说&#xff0c; …

vim编辑器详细教程

目录 一&#xff0c;第一讲 第一节&#xff1a; 移动光标 第二节 vim的进入和退出 第三节 文本编辑之删除 第四节 文本编辑之插入 第五节 文本编辑之添加 第六节 编辑文件 第一讲小结 二&#xff0c;第二讲 第一节 删除类命令 第二节 更多删除类命令 第三节 关于命令和对象…

vim编辑器使用教程

文章目录 前言一、vim 的三种工作模式二、vim 基本操作1、编辑2、复制粘贴3、撤销4、跳转5、查找和替换6、自动缩进7、分屏8、其他 三、vim 配置文件 前言 vim 是 Linux 系统内置的「文本编辑器」&#xff0c;用于查看或编辑文件的内容&#xff0c;学会使用 vim 编辑器&#x…

vi和vim编辑器

《Linux从入门到精通》 第一章 macOS Linux_CentOS7.6安装 第二章 网络连接的三种模式 第三章 VMware中的虚拟机克隆 第四章 虚拟机快照 第五章 Linux的目录结构 文章目录 《Linux从入门到精通》前言一、vi编辑器简介二、vim基本使用1.一般模式2.编辑模式3.指令模式4.vim配置文…

Linux Vim编辑器使用

1、基本介绍 linux系统会内置 vi 文本编辑器 Vim具有程序编辑的能力&#xff0c;可以看作是Vi的增强版本&#xff0c;可以主动的以字体颜色辨别语法的正确性&#xff0c;方便程序设计。代码补完、编译即错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 …

在Windows下安装Vim编辑器

在windows下安装vim其实非常简单&#xff0c;不需要配置什么配置文件之类的。。。就几个步骤搞定的事情非要搞得这么麻烦&#xff0c;真的服了。。。 首先&#xff0c;先去vim的github下载vimPC版 要是你不想麻烦的去找&#xff0c;请直接点击链接直达&#xff1a; 32位:githu…

Linux-vim编辑器的使用

本篇博客讲解vim编辑器的使用&#xff01;&#xff01;&#xff01;最实用教程&#xff01;&#xff01;&#xff01;没有之一&#xff01;&#xff01;&#xff01; vim编辑器有三种模式 命令模式&#xff1a;对文本进行复制、粘贴、删除、撤销等【默认进入命令模式】 输入模式…

Vim编辑器的安装与使用

1、导读 下面给大家讲解一下Linux/ununtu系统下的文本编辑神器——vim编辑器的安装及基本使用方法。 2、安装vim编辑器 如果没有安装vim编辑器的&#xff0c;可在终端下输入一下命令进行安装&#xff1a; sudo apt-get install vim 安装过程中提示&#xff1a;[y/n]? 时…

Vim编辑器的基本使用

vi编辑器是Unix系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口&#xff0c;允许查看文件中的行、在文件中移动、插入、编辑和替换文本。尽管它可能是世界上最复杂的编辑器&#xff08;至少讨厌它的人是这么认为的&#xff09;&#xff0c;但其拥有的大量特性使其成…