数据挖掘入门算法整理

最近正打算学习一些数据挖掘方面的知识,开始看了一些相关博文,但是太过零碎,一直对此没有一个较为系统的认识。周末在图书馆闲逛,偶然看见《大话数据挖掘》一书,发现讲的比较有条理,还蛮适合入门的,因此就读了两章,作此笔记。本文只是介绍了数据挖掘入门的一些算法分类,不涉及具体算法实现。

一下是整理的算法分类图:

1、关联

关联是指一个事件与另一个事件之间的依赖关系。如经典的尿布与啤酒的关系。

apriori算法是最经典的关联规则算法,基本思想是:首先从事件中集中找到所有频繁出现的子集。然后在这些子集中发现可信度较高的规则。

2、聚类

聚类就是将对象划分成若干个类,在同一类中对象具有较高的相似度,不同类中对象差异较大。

基于对象间距离可以分为两类算法:划分方法(Partitioning Method)和层次聚类方法(Hierarchial Method)。前者的思想是:迭代计算各点到类中心点距离,类内数据点越近越好,类间点越远越好。后者思想是:将对象分层建立簇,形成一颗以簇为节点的树,自下而上的是聚集的层次聚类,自上而下的是分裂的层次聚类。

3、预测

预测是通过对反映了事物输入和输出之间的关联性的学习,得到预测模型,再利用该模型对未来数据进行预测的过程。如机器学习的一个简单模型:输入数据为(x1,y1),(x2,y2)...(xn,yn),通过输入数据的学习,可以得到模型y=f(x,β)中的β,从而对于新数据我们可以通过x确定y值。

具体的预测算法有很多,各自的效果和实现自行百度吧。

4、序列和时间序列

序列是指被排成一列的对象,即有序对象。而时间序列则是以时间来区隔的序列。由于序列与关联关系很密切,所以序列前边的值很可能影响序列后边的值,对于时间序列而言就和回归分析很像了。

这里列出的只是书中给出的,仅是一些比较有代表性的入门算法,实际每个分类下还有很多算法或变种,比如预测中比较常用的还有邻近法和朴素贝叶斯等,这里不再给出。此外本篇主要是给出这些算法概念,看了之后可能不知所云,所以如果真要深入了解,就需要去查对应算法相关的资料了。

时间: 2024-11-23 08:15:40

数据挖掘入门算法整理的相关文章

requirejs入门知识整理

使用模块化开发处理的三大问题: 1.命名冲突:2.繁琐的文件依赖 3.实现异步非阻塞的文件加载,避免网页失去响应 模块化的设计使得JavaScript代码在需要访问“全局变量”的时候,都可以通过依赖关系,把这些“全局变量”作为参数传递到模块的实现体里,在实现中就避免了访问或者声明全局的变量或者函数,有效的避免大量而且复杂的命名空间管理. requirejs以一个相对于baseUrl的地址来加载所有的代码.如果用了data-main属性,则该路径就是baseUrl,baseUrl亦可通过requi

数据挖掘经典算法——最大期望算法

算法定义 最大期望算法(Exception Maximization Algorithm,后文简称EM算法)是一种启发式的迭代算法,用于实现用样本对含有隐变量的模型的参数做极大似然估计.已知的概率模型内部存在隐含的变量,导致了不能直接用极大似然法来估计参数,EM算法就是通过迭代逼近的方式用实际的值带入求解模型内部参数的算法. 算法描述 算法的形式如下: 随机对参数赋予初值: While(求解参数不稳定){ E步骤:求在当前参数值和样本下的期望函数Q: M步骤:利用期望函数重新计算模型中新的估计值

Python数据挖掘入门与实践pdf

下载地址:网盘下载 内容简介  · · · · · · 本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识.基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅.本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使用朴素贝叶斯算法进行社会媒体挖掘,等等.本书也涉及神经网络.深度学习.大数据处理等内容. 作者简介  · · · · · · 作者简介: Robert Layton 计算机科学博士,网络犯

Python数据挖掘入门与实践 彩图 pdf

下载地址:网盘下载 内容简介  · · · · · · 本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识.基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅.本书采用理论与实践相结合的方式,呈现了如何使用决策树和随机森林算法预测美国职业篮球联赛比赛结果,如何使用亲和性分析方法推荐电影,如何使用朴素贝叶斯算法进行社会媒体挖掘,等等.本书也涉及神经网络.深度学习.大数据处理等内容. 作者简介  · · · · · · 作者简介: Robert Layton 计算机科学博士,网络犯

数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST

目录 数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST 下载数据集 加载数据集 构建神经网络 反向传播(BP)算法 进行预测 F1验证 总结 参考 数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST 在本章节中,并不会对神经网络进行介绍,因此如果不了解神经网络的话,强烈推荐先去看<西瓜书>,或者看一下我的上一篇博客:数据挖掘入门系列教程(七点五)之神经网络介绍 本来是打算按照<Python数据挖掘入门与实践>

最短路径算法整理(二)

本文是最短路径算法整理的第二篇,想阅读第一篇的朋友能够点击下面链接: http://blog.csdn.net/hjd_love_zzt/article/details/26739593 这一篇博客继续以一些OJ上的题目为载体,整理一下最短路径算法.会陆续的更新... 1.HDU 2544 题目与分析:这道题抽象一下,还是:"求a到b的最短路径"..所须要的基本条件是:点数.边数.起点.终点 下面给出floyd.dijkstra.bellmanford三种最短路径算法关于这道题的解法:

算法整理(三):插入排序

插入排序很简单,就像打扑克.手里有个牌4,再来一张牌5就本能的放到第一个牌的右边.如果来了个3就从右往左扫描,只要左边的比这个待插入数字大就交换. 插入排序是一种稳定的排序方法,时间复杂度O(n*n),空间复杂度O(1),最好的情况下时间复杂度为O(1).即本来就是一个有序或者相等的数组,则只需比较n-1次即可.下为源码,只需三行代码即可. //============================================================================

常见数据结构与算法整理总结(上)

数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.算法是为求解一个问题需要遵循的.被清楚指定的简单指令的集合.下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出. 为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的几种数据结构,线性表.栈.队列等都提供了较好的实现,就是我们经常用到的Java集合框架,有需要的可以阅读这篇文章.Java - 集合框架完全解析 一.线性表 1.数组实现 2.链表 二.栈与队列 三.树

Nim Game,一个有趣的游戏,也是一道入门算法题。

Nim Game,其实很多人都玩过.其实就是我们玩的划线游戏. 一张纸上,画若干条线,双方一人划一次,每次划掉1~3条线.可以选择画1条,也可以划2条,也可以3条.具体划去几条线完全看自己的策略.谁划掉最后一条线,就是赢家. 如上图,蓝方获胜. 正在看这篇文章的你一定是一个聪明人,每一步都是最优解,而你的对手,也跟你一样聪明,每步都是最优的解法. 现在你作为先手,在线条总数为多少的时候,你必赢呢,又在多少的时候必输呢? 可不可以用一个函数来判断在线条总是为x时你的输赢情况呢?这样你以后跟别人玩这