《BI那点儿事》浅析十三种常用的数据挖掘的技术
一、前沿
数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多种,按功能可以分为两大类:预测性(Predictive)模式和描述性(Descriptive)模式。在应用中往往根据模式的实际作用细分为以下几种:分类,估值,预测,相关性分析,序列,时间序列,描述和可视化等。
数据挖掘涉及的学科领域和技术很多,有多种分类法。
根据挖掘任务分,可分为分类或预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等;
根据挖掘对象分,有关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及环球网Web;
根据挖掘方法分,可粗分为:机器学习方法、统计方法、神经网络方法和数据库方法。
- 机器学习中,可细分为:归纳学习方法(决策树、规则归纳等)、基于范例学习、遗传算法等。
- 统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)等。
- 神经网络方法中,可细分为:前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。
- 数据库方法主要是多维数据分析或OLAP方法,另外还有面向属性的归纳方法等等。
二、数据挖掘技术简述
数据挖掘的技术有很多种,按照不同的分类有不同的分类法。下面着重讨论一下数据挖掘中常用的一些技术:统计技术,关联规则,基于历史的分析,遗传算法,聚集检测,连接分析,决策树,神经网络,粗糙集,模糊集,回归分析,差别分析,概念描述等十三种常用的数据挖掘的技术。
1、统计技术
数据挖掘涉及的科学领域和技术很多,如统计技术。统计技术对数据集进行挖掘的主要思想是:统计的方法对给定的数据集合假设了一个分布或者概率模型(例如一个正态分布)然后根据模型采用相应的方法来进行挖掘。
2、关联规则
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之I司存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。
3、基于历史的MBR(Memory-based Reasoning)分析
先根据经验知识寻找相似的情况,然后将这些情况的信息应用于当前的例子中。这个就是MBR(Memory Based Reasoning)的本质。MBR首先寻找和新记录相似的邻居,然后利用这些邻居对新数据进行分类和估值。使用MBR有三个主要问题,寻找确定的历史数据;决定表示历史数据的最有效的方法;决定距离函数、联合函数和邻居的数量。
4、遗传算法GA(Genetic Algorithms)
基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。主要思想是:根据适者生存的原则,形成由当前群体中最适合的规则组成新的群体,以及这些规则的后代。典型情况下,规则的适合度(Fitness)用它对训练样本集的分类准确率评估。
5、聚集检测
将物理或抽象对象的集合分组成为由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其它簇中的对象相异。相异度是根据描述对象的属眭值来计算的,距离是经常采用的度量方式。
6、连接分析
连接分析,Link analysis,它的基本理论是图论。图论的思想是寻找一个可以得出好结果但不是完美结果的算法,而不是去寻找完美的解的算法。连接分析就是运用了这样的思想:不完美的结果如果是可行的,那么这样的分析就是一个好的分析。利用连接分析,可以从一些用户的行为中分析出一些模式;同时将产生的概念应用于更广的用户群体中。
7、决策树
决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。
8、神经网络
在结构上,可以把一个神经网络划分为输入层、输出层和隐含层。输入层的每个节点对应—个个的预测变量。输出层的节点对应目标变量,可有多个。在输入层和输出层之间是隐含层(对神经网络使用者来说不可见),隐含层的层数和每层节点的个数决定了神经网络的复杂度。
除了输入层的节点,神经网络的每个节点都与很多它前面的节点(称为此节点的输入节点)连接在一起,每个连接对应一个权重Wxy,此节点的值就是通过它所有输入节点的值与对应连接权重乘积的和作为—个函数的输入而得到,我们把这个函数称为活动函数或挤压函数。
9、粗糙集
粗糙集理论基于给定训练数据内部的等价类的建立。形成等价类的所有数据样本是不加区分的,即对于描述数据的属性,这些样本是等价的。给定现实世界数据,通常有些类不能被可用的属性区分。粗糙集就是用来近似或粗略地定义这种类。
10、模糊集
模糊集理论将模糊逻辑引入数据挖掘分类系统,允许定义“模糊”域值或边界。模糊逻辑使用0.0和1.0之间的真值表示一个特定的值是一个给定成员的程度,而不是用类或集合的精确截断。模糊逻辑提供了在高抽象层处理的便利。
11、回归分析
回归分析分为线性回归、多元回归和非线性同归。在线性回归中,数据用直线建模,多元回归是线性回归的扩展,涉及多个预测变量。非线性回归是在基本线性模型上添加多项式项形成非线性同门模型。
12、差别分析
差别分析的目的是试图发现数据中的异常情况,如噪音数据,欺诈数据等异常数据,从而获得有用信息。
13、概念描述
概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别,生成一个类的特征性描述只涉及该类对象中所有对象的共性。
三、结束语
由于人们急切需要将存在于数据库和其他信息库中的数据转化为有用的知识,因而数据挖掘被认为是一门新兴的、非常重要的、具有广阔应用前景和富有挑战性的研究领域,并应起了众多学科(如数据库、人工智能、统计学、数据仓库、在线分析处理、专家系统、数据可视化、机器学习、信息检索、神经网络、模式识别、高性能计算机等)研究者的广泛注意。作为一门新兴的学科,数据挖掘是由上述学科相互交叉、相互融合而形成的。随着数据挖掘的进一步发展,它必然会带给用户更大的利益。
《BI那点儿事》浅析十三种常用的数据挖掘的技术的更多相关文章
- 浅析十三种常用的数据挖掘的技术&五个免费开源的数据挖掘软件
一.前 沿 数据挖掘就是从大量的.不完全的.有噪声的.模糊的.随机的数据中,提取隐含在其中的.人们事先不知道的但又是潜在有用的信息和知识的过程.数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多 ...
- 《BI那点儿事—数据的艺术》目录索引
原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...
- 《BI那点儿事》数据挖掘初探
什么是数据挖掘? 数据挖掘(Data Mining),又称信息发掘(Knowledge Discovery),是用自动或半自动化的方法在数据中找到潜在的,有价值的信息和规则. 数据挖掘技术来源于数据库 ...
- Java必知必会的20种常用类库和API
转载:https://blog.csdn.net/u011001084/article/details/79216958 个人感觉工具类对日常开发是很重要的,所以推荐一下这篇文章,虽然有的类库过时了 ...
- AVA正则表达式4种常用功能
正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 下面简单的说下它的4种常用功能: 查询: String str="abc efg ABC"; Str ...
- DotNet中几种常用的加密算法
在.NET项目中,我们较多的使用到加密这个操作.因为在现代的项目中,对信息安全的要求越来越高,那么多信息的加密就变得至关重要.现在提供几种常用的加密/解密算法. 1.用于文本和Base64编码文本的互 ...
- [转]jQuery的each方法的几种常用的用法
下面提一下jQuery的each方法的几种常用的用法 复制代码 代码如下: var arr = [ "one", "two", "three&quo ...
- 快速理解几种常用的RAID磁盘阵列级别
我发现周围不少人在学习和理解RAID磁盘阵列的原理时,找了很多专业的资料来看,但是因为动手的机会比较少,因此看完以后还是似懂非懂,真正遇到实际的方案设计的时候,还是拿不定主意. 因此,我结合自己在过去 ...
- JAVA 正则表达式4种常用的功能
下面简单的说下它的4种常用功能: 查询: 以下是代码片段: String str="abc efg ABC"; String regEx="a|f" ...
随机推荐
- Lua与C++互相调用(上)
int main1(int argc, const char * argv[]) { lua_State* L = luaL_newstate();//创建栈 luaopen_base(L); lua ...
- 为什么学习webdriver
http://www.boobooke.com/goods-37.html
- 条件随机场理论分析CRF(Conditional Random Field)
- arm v5,v6,v7?
http://blog.csdn.net/woshi_ziyu/article/details/7946862
- 【C-数组】
一.一维数组 ①.定义方式 类型说明符 数组名 [常量表达式]; 如:int array[10]; 注意: 1) 数组的类型实际上是指数组元素的类型.对于同一个数组,其所有元素的数据类型都是相同的. ...
- 解决Django站点admin管理页面样式表(CSS style)丢失
参照这篇教程激活完django自带服务器的admin管理页面后,照着教程所描述的那样,尝试打开http://127.0.0.1:8000/admin/,发现自己的浏览器显示如下 很明显可以看出,虽然业 ...
- Blend 2015 教程 (三) 模板
前一篇讲述了一些基本样式的修改方法,并搭建了Style层的基本框架,本篇将进一步修改ListBox的样式. 1. 首先选中ListBox控件,在美工板导航栏中点击ListBox,选择 编辑其他模板-编 ...
- 作业三(代码规范、代码复审、PSP)
1.代码规范: 我支持代码要有规范,理由如下. (1).艺术是一个很带有个人风格的学科,天马行空才能凸显出自己的价值.但不要忘了,会艺术的不是生下来就会艺术, 他也需要按照前辈的步骤一步一步的学习基础 ...
- [.net 面向对象编程基础] (23) 结束语
[.net 面向对象编程基础] (23) 结束语 这个系列的文章终于写完了,用了半个多月的时间,没有令我的粉丝们失望.我的感觉就是一个字累,两个字好累,三个字非常累.小伙伴们看我每篇博客的时间就知道 ...
- 5天玩转C#并行和多线程编程 —— 第五天 多线程编程大总结
5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...