1、前 沿html
数据挖掘就是从大量的、不彻底的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。数据挖掘的任务是从数据集中发现模式,能够发现的模式有不少种,按功能能够分为两大类:预测性(Predictive)模式和描述性(Descriptive)模式。在应用中每每根据模式的实际做用细分为如下几种:分类,估值,预测,相关性分析,序列,时间序列,描述和可视化等。前端
数据挖掘涉及的学科领域和技术不少,有多种分类法。根据挖掘任务分,可分为分类或预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等;根据挖掘对象分,有关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及环球网Web;根据挖掘方法分,可粗分为:机器学习方法、统计方法、神经网络方法和数据库方法。机器学习中,可细分为:概括学习方法(决策树、规则概括等)、基于范例学习、遗传算法等。统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)等。神经网络方法中,可细分为:前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。数据库方法主要是多维数据分析或OLAP方法,另外还有面向属性的概括方法等等。算法
2、数据挖掘技术简述数据库
数据挖掘的技术有不少种,按照不一样的分类有不一样的分类法。下面着重讨论一下数据挖掘中经常使用的一些技术:统计技术,关联规则,基于历史的分析,遗传算法,汇集检测,链接分析,决策树,神经网络,粗糙集,模糊集,回归分析,差异分析,概念描述等十三种经常使用的数据挖掘的技术。编程
一、统计技术api
数据挖掘涉及的科学领域和技术不少,如统计技术。统计技术对数据集进行挖掘的主要思想是:统计的方法对给定的数据集合假设了一个分布或者几率模型(例如一个正态分布)而后根据模型采用相应的方法来进行挖掘。网络
二、关联规则框架
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之I司存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即便知道也是不肯定的,所以关联分析生成的规则带有可信度。机器学习
三、基于历史的MBR(Memory-based Reasoning)分析编程语言
先根据经验知识寻找类似的状况,而后将这些状况的信息应用于当前的例子中。这个就是MBR(Memory Based Reasoning)的本质。MBR首先寻找和新记录类似的邻居,而后利用这些邻居对新数据进行分类和估值。使用MBR有三个主要问题,寻找肯定的历史数据;决定表示历史数据的最有效的方法;决定距离函数、联合函数和邻居的数量。
四、遗传算法GA(Genetic Algorithms)
基于进化理论,并采用遗传结合、遗传变异、以及天然选择等设计方法的优化技术。主要思想是:根据适者生存的原则,造成由当前群体中最适合的规则组成新的群体,以及这些规则的后代。典型状况下,规则的适合度(Fitness)用它对训练样本集的分类准确率评估。
五、汇集检测
将物理或抽象对象的集合分组成为由相似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此类似,与其它簇中的对象相异。相异度是根据描述对象的属眭值来计算的,距离是常常采用的度量方式。
六、链接分析
链接分析,Link analysis,它的基本理论是图论。图论的思想是寻找一个能够得出好结果但不是完美结果的算法,而不是去寻找完美的解的算法。链接分析就是运用了这样的思想:不完美的结果若是是可行的,那么这样的分析就是一个好的分析。利用链接分析,能够从一些用户的行为中分析出一些模式;同时将产生的概念应用于更广的用户群体中。
七、决策树
决策树提供了一种展现相似在什么条件下会获得什么值这类规则的方法。
八、神经网络
在结构上,能够把一个神经网络划分为输入层、输出层和隐含层。输入层的每一个节点对应—个个的预测变量。输出层的节点对应目标变量,可有多个。在输入层和输出层之间是隐含层(对神经网络使用者来讲不可见),隐含层的层数和每层节点的个数决定了神经网络的复杂度。
除了输入层的节点,神经网络的每一个节点都与不少它前面的节点(称为此节点的输入节点)链接在一块儿,每一个链接对应一个权重Wxy,此节点的值就是经过它全部输入节点的值与对应链接权重乘积的和做为—个函数的输入而获得,咱们把这个函数称为活动函数或挤压函数。
九、粗糙集
粗糙集理论基于给定训练数据内部的等价类的创建。造成等价类的全部数据样本是不加区分的,即对于描述数据的属性,这些样本是等价的。给定现实世界数据,一般有些类不能被可用的属性区分。粗糙集就是用来近似或粗略地定义这种类。
十、模糊集
模糊集理论将模糊逻辑引入数据挖掘分类系统,容许定义“模糊”域值或边界。模糊逻辑使用0.0和1.0之间的真值表示一个特定的值是一个给定成员的程度,而不是用类或集合的精确截断。模糊逻辑提供了在高抽象层处理的便利。
十一、回归分析
回归分析分为线性回归、多元回归和非线性同归。在线性回归中,数据用直线建模,多元回归是线性回归的扩展,涉及多个预测变量。非线性回归是在基本线性模型上添加多项式项造成非线性同门模型。
十二、差异分析
差异分析的目的是试图发现数据中的异常状况,如噪音数据,欺诈数据等异常数据,从而得到有用信息。
1三、概念描述
概念描述就是对某类对象的内涵进行描述,并归纳这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不一样类对象之间的区别,生成一个类的特征性描述只涉及该类对象中全部对象的共性。
3、结束语
因为人们急切须要将存在于数据库和其余信息库中的数据转化为有用的知识,于是数据挖掘被认为是一门新兴的、很是重要的、具备广阔应用前景和富有挑战性的研究领域,并应起了众多学科(如数据库、人工智能、统计学、数据仓库、在线分析处理、专家系统、数据可视化、机器学习、信息检索、神经网络、模式识别、高性能计算机等)研究者的普遍注意。做为一门新兴的学科,数据挖掘是由上述学科相互交叉、相互融合而造成的。随着数据挖掘的进一步发展,它必然会带给用户更大的利益
Orange 是一个基于组件的数据挖掘和机器学习软件套装,它的功能即友好,又很强大,快速而又多功能的可视化编程前端,以便浏览数据分析和可视化,基绑定了Python以进行脚本开发。它包含了完整的一系列的组件以进行数据预处理,并提供了数据账目,过渡,建模,模式评估和勘探的功能。其由C++ 和 Python开发,它的图形库是由跨平台的Qt框架开发。
RapidMiner, 之前叫 YALE (Yet Another Learning Environment), 其是一个给机器学习和数据挖掘和分析的试验环境,同时用于研究了真实世界数据挖掘。它提供的实验由大量的算子组成,而这些算子由详细的XML 文件记录,并被RapidMiner图形化的用户接口表现出来。RapidMiner为主要的机器学习过程提供了超过500算子,而且,其结合了学习方案和Weka学习环境的属性评估器。它是一个独立的工具能够用来作数据分析,一样也是一个数据挖掘引擎能够用来集成到你的产品中。
由Java开发的 Weka (Waikato Environment for Knowledge Analysis) 是一个知名机器学机软件,其支持几种经典的数据挖掘任务,显著的数据预处理,集群,分类,回归,虚拟化,以及功能选择。其技术基于假设数据是以一种单个文件或关联的,在那里,每一个数据点都被许多属性标注。 Weka 使用Java的数据库连接能力能够访问SQL数据库,并能够处理一个数据库的查询结果。它主要的用户接品是Explorer,也一样支持相同功能的命令行,或是一种基于组件的知识流接口。
为科学家,工程师和学生所设计的 jHepWork 是一个免费的开源数据分析框架,其主要是用开源库来建立 一个数据分析环境,并提供了丰富的用户接口,以此来和那些收费的的软件竞争。它主要是为了科学计算用的二维和三维的制图,并包含了用Java实现的数学科学库,随机数,和其它的数据挖掘算法。 jHepWork 是基于一个高级的编程语言 Jython,固然,Java代码一样能够用来调用 jHepWork 的数学和图形库。
KNIME (Konstanz Information Miner) 是一个用户友好,智能的,并有丰演的开源的数据集成,数据处理,数据分析和数据勘探平台。它给了用户有能力以可视化的方式建立数据流或数据通道,可选择性地运行一些或所有的分析步骤,并之后面研究结果,模型 以及 可交互的视图。 KNIME 由Java写成,其基于 Eclipse 并经过插件的方式来提供更多的功能。经过以插件的文件,用户能够为文件,图片,和时间序列加入处理模块,并能够集成到其它各类各样的开源项目中,好比:R语言,Weka, Chemistry Development Kit, 和 LibSVM.
源文:http://www.junauza.com/2010/11/free-data-mining-software.html(墙)