数据挖掘 - 国搜百科

热搜词: 天舟一号发射成功 英镑汇率高歌猛进 盐城大丰郁金香花海 药品阳光采购两票制
数据挖掘 (提取可行信息的过程)

数据挖掘是从大型数据中发现可行信息的过程。 数据挖掘使用数学分析来派生存在于数据中的模式和趋势。 通常,由于这些模式的关系过于复杂或涉及数据过多,因此使用传统数据浏览无法发现这些模式。

- 收起最新报道

    1数据挖掘的定义

    编辑本段 回目录

    数据挖掘就是从大量的、不完全的、有噪音的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘应该更正确地命名为“从数据中挖掘知识”。还有很多与这一术语相似的术语,如知识发现、数据分析、数据融合以及决策支持等。人工智能领域习惯称知识发现,而数据库领域习惯将其称为数据挖掘。

    原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形、图像数据等。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现了知识可以被用于信息管理、查询优化、决策支持、过程控制等;还可以用于数据自身的维护。

    2数据挖掘的特点

    编辑本段 回目录

    数据挖掘有如下特点:

    (1)处理的数据规模十分庞大。

    (2)用户不能形成精确的查询要求,因此需要利用数据挖掘技术来寻找其可能感兴趣的东西。

    (3)数据挖掘对数据的迅速变化做出快速响应,以提供决策支持信息。

    (4)数据挖掘既要发现规则,还要管理和维护规则,随着新数据的不断加入,规则需要随着新数据更新。

    (5)数据挖掘中规则的发现基于统计规律,发现的规则不必适合于所有的数据,而且当达到某一值时,便认为有此规则。

    3数据挖掘的对象与步骤

    编辑本段 回目录

    数据挖掘的对象

    数据挖掘的对象主要是关系数据库,这是典型的结构化数据,随着技术的发展,数据挖掘的对象逐步扩大到半结构化或非结构化数据,这主要是文本数据、图像和视频数据以及web数据等。

    (1)关系数据库:目前建立的数据库几乎都是关系数据库。数据挖掘方法也主要是研究数据库属性之间的关系,挖掘出多个属性取值之间的规则。

    (2)文本:文本是以字母串形式表示的数据文件。文本分析包括:关键词或特征提取;相似检索;文本聚类和文本分类等。

    (3)图像视频数据:图像和视频数据是典型的多媒体数据。数据以点阵信息及帧形式存储,数据量很大。图像与视频的数据挖掘包括:图像与视频特征提取;基于内容的相似检索;视频镜头的编辑与组织等。

    (4)Web数据:随着Internet的发展和普及,网站数目的迅速增长以及上网人数的剧烈增加,使得网络数据量呈指数增长,Web数据挖掘已成为新课题。它有如下特点:

    异构数据集成和挖掘:Web上每一个站点是一个数据源,各数据源都是异构的,形成了一个巨大的异构数据库环境。将这些站点的异构数据进行集成,给用户提供一个统一的视图,才能在Web上进行数据挖掘。

    半结构化数据模型提取:Web上的数据非常复杂,没有特定的模型描述。虽然每个站点上的数据是结构化的,但各自的设计对整个网络而言是一个非完全结构化的数据,称为半结构化数据。对半结构化数据模型的查询和集成,需要寻找一种半结构化模型抽取技术来自动抽取各站点的数据。

    数据挖掘的步骤

    一般来说,数据挖掘是一个利用各种分析方法和分析工具,在大规模海量数据中建立模型和发现数据间关系的过程,这些模型的关系可以用来做出决策与预测。支持大规模数据分析的方法和过程,选择或者建立一种适合数据挖掘应用的数据环境是数据挖掘研究的重要课题。

    数据挖掘示意图数据挖掘示意图






    数据挖掘过程中各步骤的大体内容如下:

    (1)确定业务对象:在开始数据挖掘之前最基础的就是理解数据和实际的业务问题,在这个基础之上提出问题,对目标有明确的定义。认清数据挖掘的目的数据挖掘的重要一步,因此必须清晰的知道业务问题。挖掘的最后结果是不可预测的,但对要探索的问题应该是要有预见的,为了数据挖掘而数据挖掘则具有盲目性,是不会成功的。

    (2)数据准备:数据准备是保证数据挖掘得以成功的先决条件,数据准备在整个数据挖掘过程中占有大量的工作量,大约是整个数据挖掘工作量的60%。数据准备包括数据选择、数据预处理和数据转换。

    数据的选择。数据的选择就是搜索所有与业务对象有关的内部和外部的数据信息,获取原始的数据:从中选择出适用于数据挖掘应用的数据,建立数据挖掘库。

    数据的预处理。由于数据可能是不完全的、有噪音的、随机的,有复杂的数据结构,数据预处理就是要对数据进行初步的整理,清洗不完全的数据,为进一步分析做准备,并确定将要进行的数据操作的类型。

    数据的转换。数据的转换时根据数据挖掘的目标和数据的特征,选择合适的模型。这个模型是针对数据挖掘算法建立的。建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键。

    (3)数据挖掘:数据挖掘就是对所有得到的经过转换的数据进行挖掘,除了选择合适的算法外,其余的工作应该能自动完成。

    (4)结果分析:对挖掘结果进行解释并评估。其使用的分析方法一般应根据数据挖掘操作而定,目前通常会用可视化技术。

    (5)知识的同化:知识的同化就是将分析所得到的知识集集合到业务信息系统的组织结构中去。

    4数据挖掘十大经典算法

    编辑本段 回目录

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

    数据挖掘十大算法数据挖掘十大算法







    1. C4.5

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

    1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

    2) 在树构造过程中进行剪枝;

    3) 能够完成对连续属性的离散化处理;

    4) 能够对不完整数据进行处理。

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

    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。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。

    5数据挖掘模型

    编辑本段 回目录

    数据挖掘是从大型数据集中发现可行信息的过程。数据挖掘使用数学分析来派生存在于数据中的模式和趋势。通常,由于这些模式的关系过于复杂或涉及数据过多,因此使用传统数据浏览无法发现这些模式。这些模式和趋势可以被收集在一起并定义为“数据挖掘模型”。挖掘模型可以应用于特定的方案,例如:

    (1)预测:估计销售量、预测服务器负载或服务器停机时间

    (2)风险和概率:选择目标邮递的最佳客户、确定风险方案的可能保本点、将概率分配给诊断或其他结果

    (3)建议:确定哪些产品有可能一起销售并生成建议

    (4)查找序列:分析购物车中的客户选择,并预测接下来可能发生的事件

    (5)分组:将客户或事件划分到相关的项目分类,分析和预测相关性

    生成挖掘模型是大型过程的一部分,此过程包括从提出相关数据问题并创建模型以解答这些问题到将模型部署到工作环境的所有事情。此过程可以使用下列六个基本步骤进行定义:定义问题、准备数据、浏览数据、生成模型浏览和验证模型、部署和更新模型。

    步骤间关系图步骤间关系图










    定义问题

    数据挖掘过程的第一步就是明确定义问题,并考虑可以何种方式利用数据来解答该问题。

    该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题:

    您在查找什么? 您要尝试找到什么类型的关系?

    您要尝试解决的问题是否反映了业务策略或流程?

    您要通过数据挖掘模型进行预测,还是仅仅查找受关注的模式和关联?

    您要尝试预测哪个结果或属性?

    您具有什么类型的数据以及每列中包含什么类型的信息? 或者如果有多个表,则表如何关联? 您是否需要执行任何清除、聚合或处理以使数据可用?

    数据如何分布? 数据是否具有季节性性质? 数据是否可以准确反映业务流程?

    若要回答这些问题,可能必须进行数据可用性研究,必须调查业务用户对可用数据的需求。 如果数据不支持用户的需求,则还必须重新定义项目。

    此外,还需要考虑如何将模型结果纳入用于度量业务进度的关键绩效指标 (KPI)。

    准备数据

    数据可以分散在公司的各个部门并以不同的格式存储,或者可能包含错误项或缺少项之类的不一致性。例如,数据可能显示客户在产品推向市场之前购买该产品,或者客户在距离她家 2000 英里的商店定期购物。

    数据清除不仅仅是删除错误数据或插入缺失值,还包括查找数据中的隐含相关性、标识最准确的数据源并确定哪些列最适合用于分析。例如,应当使用发货日期还是订购日期?最佳销售影响因素是数量、总价格,还是打折价格? 不完整数据、错误数据和输入看似独立,但实际上都有很强的关联性,它们可以以意想不到的方式影响模型的结果。

    因此,在开始生成挖掘模型之前,应确定这些问题及其解决方式。对于数据挖掘,您一般使用很大的数据集,无法检查每个事务来确保数据质量;因此,可能需要使用某些数据探查以及自动化的数据清除和筛选工具(如 Integration Services、Microsoft SQL Server 2012 Master Data Services 或 SQL Server Data Quality Services 中提供的那些工具),来浏览数据并找出不一致的地方。有关详细信息,请参阅以下资源:

    Integration Services in Business Intelligence Development Studio

    Master Data Services 概述

    Data Quality Services

    需要特别注意的是用于数据挖掘的数据不必存储在联机分析处理 (OLAP) 多维数据集中,或者甚至不必存储在关系数据库中,但是您可以将它们作为数据源使用。您可以使用已被定义为 Analysis Services 数据源的任何数据源执行数据挖掘。这些数据源可以包括文本文件、Excel 工作簿或来自其他外部提供程序的数据。有关详细信息,请参阅支持的数据源类型(SSAS 多维)。

    浏览数据

    您必须了解数据,以便在创建挖掘模型时作出正确的决策。浏览技术包括计算最小值和最大值,计算平均偏差和标准偏差,以及查看数据的分布。例如,通过查看最大值、最小值和平均值,您可以确定数据并不能代表客户或业务流程,因此您必须获取更多均衡数据或查看您的预期结果所依据的假定。标准偏差和其他分发值可以提供有关结果的稳定性和准确性的有用信息。大型标准偏差可以指示添加更多数据可以帮助改进模型。与标准分发偏差很大的数据可能已被扭曲,抑或准确反映了现实问题,但很难使模型适合数据。

    借助您自己对业务问题的理解来浏览数据,您可以确定数据集是否包含缺陷数据,随后您可以设计用于解决该问题的策略或者更深入地理解业务的典型行为。

    您可以使用诸如 Master Data Services 等工具来详查数据的可用源并确定它们是否可用于数据挖掘。可以使用 SQL Server Data Quality Services 或 Integration Services 中提供的数据事件探查器等工具,来分析您数据的分布情况并处理错误的数据或缺失的数据等问题。

    在定义源之后,使用 SQL Server Data Tools 中的数据源视图设计器在数据源视图中合并它们。有关详细信息,请参阅多维模型中的数据源视图。这个设计器还包含几个工具,您可以使用它们来浏览数据并验证数据是否可用于创建模型。 有关详细信息,请参阅在数据源视图中浏览数据 (Analysis Services)。

    请注意,在创建模型时,Analysis Services 还会针对该模型中包含的数据自动创建统计摘要,您可以进行查询以便用于报告或进一步分析。有关详细信息,请参阅数据挖掘查询。

    生成模型

    通过创建挖掘结构定义要使用的数据列。将挖掘结构链接到数据源,但只有对挖掘结构进行处理后,该结构才会实际包含数据。处理挖掘结构时,Analysis Services 生成可用于分析的聚合信息以及其他统计信息。基于该结构的所有挖掘模型均可使用该信息。有关挖掘结构如何与挖掘模型关联的详细信息,请参阅逻辑体系结构(Analysis Services - 数据挖掘)。

    在处理结构和模型之前,数据挖掘模型也只是一个容器,它指定用于输入的列、要预测的属性以及指示算法如何处理数据的参数。处理模型通常称为“定型”。定型表示向结构中的数据应用特定数学算法以便提取模式的过程。在定型过程中找到的模式取决于选择的定型数据、所选算法以及如何配置该算法。SQL Server 2014 包含多种不同算法,每种算法适合不同的任务类型,并且每种算法创建不同的模型类型。有关 SQL Server 2014 中提供的算法的列表,请参阅数据挖掘算法(Analysis Services – 数据挖掘)。

    此外,还可以使用参数调整每种算法,并向定型数据应用筛选器,以便仅使用数据子集,进而创建不同结果。在通过模型传递数据之后,即可查询挖掘模型对象包含的摘要和模式,并将其用于预测。您可以在 SQL Server Data Tools 中使用数据挖掘向导或使用数据挖掘扩展插件 (DMX) 语言来定义新的模型。有关如何使用数据挖掘向导的详细信息,请参阅数据挖掘向导(Analysis Services - 数据挖掘)。有关如何使用 DMX 的详细信息,请参阅数据挖掘扩展插件 (DMX) 参考。

    务必记住,只要数据发生更改,必须更新数据挖掘结构和挖掘模型。重新处理挖掘结构以进行更新时,Analysis Services 检索源中的数据,包括任何新数据(如果动态更新源),并重新填充挖掘结构。如果您具有基于结构的模型,则可以选择更新基于该结构的模型,这表示可以根据新数据保留模型,或者也可以使模型保持原样。有关详细信息,请参阅处理要求和注意事项(数据挖掘)。

    浏览和验证模型

    在将模型部署到生产环境之前,您需要测试模型的性能。此外,在生成模型时,您通常需要使用不同配置创建多个模型,并对所有这些模型进行测试,以便查看哪个模型为您的问题和数据生成最佳结果。Analysis Services 提供的工具可帮助您将数据分成定型数据集和测试数据集,使您可以更准确地评估基于相同数据的所有模型的性能。您使用定型数据集生成模型,并通过创建预测查询来使用测试数据集测试模型的准确性。 在 SQL Server 2014 Analysis Services (SSAS) 中,生成挖掘模型时可自动执行该分区操作。有关详细信息,请参阅测试和验证。

    可以使用 SQL Server Data Tools 中数据挖掘设计器内的查看器来浏览算法发现的趋势和模式。有关详细信息,请参阅数据挖掘模型查看器。还可以使用该设计器中的工具(如,提升图和分类矩阵)来测试模型创建预测的性能。若要验证模型是否特定于您的数据,或者是否可用于推断总体,您可以使用称为“交叉验证”的统计方法来自动创建数据子集,并参照每个子集测试模型。有关详细信息,请参阅测试和验证(数据挖掘)。

    如果您在生成模型步骤中创建的所有模型都无法正常工作,则必须返回到此过程的上一个步骤,并重新定义问题或重新调查原始数据集中的数据。

    部署和更新模型

    当生产环境中部署了挖掘模型之后,便可根据您的需求执行许多任务。下面是一些可以执行的任务:

    使用这些模型创建预测,您以后可以使用这些预测进行业务决策。SQL Server 提供可用于创建预测查询的 DMX 语言以及帮助生成查询的预测查询生成器。有关详细信息,请参阅数据挖掘扩展插件 (DMX) 参考。

    创建内容查询以检索模型中的统计信息、规则或公式。有关详细信息,请参阅数据挖掘查询。

    直接将数据挖掘功能嵌入到应用程序。您可以包括含有一组对象的分析管理对象 (AMO),应用程序可使用这组对象创建、更改、处理以及删除挖掘结构和挖掘模型。另外,可以直接将 XML for Analysis (XMLA) 消息发送到 Analysis Services 实例。有关详细信息,请参阅Development (Analysis Services - Data Mining)。

    使用 Integration Services 创建一个包,在这个包中,挖掘模型用于将传入数据合理地分离到多个表中。例如,如果数据库不断地通过潜在客户进行更新,则可以结合使用挖掘模型和 Integration Services 将传入数据拆分为可能购买产品的客户和不可能购买产品的客户。 有关详细信息,请参阅 Typical Uses of Integration Services。

    创建可让用户直接对现有挖掘模型进行查询的报表。有关详细信息,请参阅 SQL Server Data Tools 中的 Reporting Services (SSDT)。

    在查看和分析后更新模型。任何更新都要求您重新处理该模型。有关详细信息,请参阅处理数据挖掘对象。

    随着组织传入的数据不断增多,应将动态更新模型并进行一致更改(以便提高解决方案的效率)作为部署策略的一部分。有关详细信息,请参阅管理数据挖掘解决方案和对象。

    参考资料

    [添加]
    [1].Microsoft:数据挖掘概念
    [2].豆丁网:数据挖掘论文
    [3].豆丁网:数据挖掘算法

    本词条内容由国搜百科根据相关资料编纂,仅供参考。如有问题,可联系我们修订、完善或删除。也欢迎更多热爱知识共享、有志于词条编纂的专业人士参与国搜百科创建。联系电话:010-87869809 合作邮箱:baike@chinaso.com 交流QQ群:5332181520

    数据挖掘 图册

    百科热点

    2017年全国两会
    • 浏览次数: 40783 次
    • 更新时间:2015-02-05
    • 创建者:zhaoye260
    分享到: