How to understand Data Mining
- 什么是数据挖掘
- 为何使用数据挖掘
- 数据挖掘有哪些类型
- 数据挖掘如何运作
- 数据挖掘的方法有哪些
-
- [异常检测(Anomaly detection)](#异常检测(Anomaly detection))
- [聚类分析(Clustering Analysis)](#聚类分析(Clustering Analysis))
- [分类分析(Classification Analysis)](#分类分析(Classification Analysis))
- [回归分析(Regression Analysis)](#回归分析(Regression Analysis))
- [选择建模(Choice Modeling)](#选择建模(Choice Modeling))
- [规则归纳(Rules Induction)](#规则归纳(Rules Induction))
- [神经网络(Neural networks)](#神经网络(Neural networks))
- [关联学习(Association learning)](#关联学习(Association learning))
- 数据挖掘面临的挑战
- 参考文献
什么是数据挖掘
数据挖掘是从数据累计中提取有用信息的过程,通常从数据仓库或链接数据集的集合中提取。数据挖掘工具包括强大的统计、数学和分析功能,其主要目的是筛选大量数据以识别趋势、模式和关系,以支持明智的决策和计划。
数据挖掘是数据库中知识发现(knowledge discovery in database, KDD)不可缺少的一部分,而KDD是将未加工的数据转换为有用信息的整个过程,该过程包括一系列转换步骤, 从数据的预处理到数据挖掘结果的后处理。
为何使用数据挖掘
数据挖掘的主要优势在于,它能够识别来自多个数据源的大量数据的模式和关系。借助越来越多的来自社交媒体、远程传感器以及日益详细的产品移动和市场活动报告等来源的数据,数据挖掘提供了充分利用大数据的工具,并将其转化为可据以采取行动的情报。更何况,它可以充当"框外思维"的机制。
数据挖掘流程可以在看似无关的信息中发现令人惊讶和有趣的关系和模式。由于信息往往是分离的,因此从历史上来说,分析整体是困难或不可能的。但是,外部因素(可能是人口或经济因素)与公司产品的绩效之间可能存在某种关系。虽然高管会定期按区域、产品线、分销渠道和区域查看销售数据,但他们通常缺乏这方面的外部背景。他们的分析指出了"发生了什么",但很少发现"发生这种情况的原因"。数据挖掘可以弥补这一差距。
数据挖掘可以寻找与外部因素的相关性;虽然相关性并不总是表示因果关系,但这些趋势可能是指导产品、渠道和生产决策的宝贵指标。从产品设计到运营效率和服务交付,相同的分析还有益于其他业务部分。
数据挖掘有哪些类型
根据数据和挖掘的目的,数据挖掘可以有不同的分支或专业。我们来看看一些数据挖掘的示例。
流程挖掘
流程挖掘是数据挖掘的一个分支,旨在发现、监控和改进业务流程。它从信息系统中可用的事件日志中提取知识。它帮助组织了解这些流程中每天发生的事情。
例如,电子商务企业有许多流程,如采购、销售、付款、收款和发货。通过挖掘采购数据日志,他们可能会发现其供应商交付可靠性为 54%,或有 12% 的供应商始终提前交付。他们可以利用这些信息优化与供应商的关系。
文本挖掘
文本挖掘或文本数据挖掘使用数据挖掘软件来阅读和理解文本。数据科学家通过文本挖掘自动发现书面资源中的知识,如网站、书籍、电子邮件、评论和文章。
例如,数字媒体公司可以借助文本挖掘自动读取其在线视频上的评论,并将观众评论分为正面和负面。
预测挖掘
预测数据挖掘使用商业智能来预测趋势。它可以帮助企业领导者研究其决策对公司未来的影响,并做出有效的选择。
例如,公司可能会查看过去的产品退货数据,设计不会导致损失的保修方案。利用预测挖掘,他们会预测未来一年的潜在退货数量,并在确定产品价格时制定考虑到损失的一年保修计划。
数据挖掘如何运作
业务了解
数据科学家或数据挖掘者从确定项目目标和范围开始。他们与业务的利益相关者合作,以识别某些信息。
- 需要解决的问题
- 项目约束或限制
- 潜在解决方案的业务影响
然后,他们使用这些信息来定义数据挖掘目标,并确定知识发现所需的资源。
数据了解
数据科学家一旦了解了业务问题,就开始对数据进行初步分析。他们从各种来源收集数据集,获得访问权限,并准备数据描述报告。报告包括数据类型、数量以及数据处理的硬件和软件要求。一旦企业批准了他们的计划,他们就开始探索和验证数据。他们使用基本统计技术处理数据,评估数据质量,并为下一阶段选择最终数据集。
数据准备
数据挖掘者在这一阶段花费的时间最多,因为数据挖掘软件需要高质量的数据。业务流程出于挖掘以外的原因收集和存储数据,数据挖掘者必须在将其用于建模之前对其进行优化。数据准备包括以下流程。
数据筛选
通过数据筛选可从观测值样本中筛选掉不希望包括进来的观测值。对于离散变量可给定某一类的类值说明此类观测值是要排除于抽样范围之外的。对于连续变量可指定其值大于或小于某值时的这些组观测值是要排除于抽样范围之外的。
数据变量转换
将某一个数据进行某种转换操作,然后将转换后的值作为新的变量存放在样本数据中。转换的目的是为了使数据和将来要建立的模型拟合地更好。例如,原来的非线性模型线性化、加强变量的稳定性等。数据变量可进行取幂、对数、开方等转换。当然,也可给定一个公式进行转换。
缺失值处理
数据缺失在许多研究领域都是一个复杂的问题。对数据挖掘来说,空值的存在,造成的影响主要有:
-
系统丢失了大量的有用信息;
-
系统中所表现出的不确定性更加显著,系统中蕴涵的确定性成分更难把握;
-
包含空值的数据会使挖掘过程陷入混乱,导致不可靠的输出。
数据挖掘算法本身更致力于避免数据过分适合所建的模型,这一特性使得它难以通过自身的算法去很好地处理不完整数据。因此,空缺的数据需要通过专门的方法进行推导、填充等,以减少数据挖掘算法与实际应用之间的差距。
坏数据处理
如果抽取数据中存在坏数据(脏数据),则需要对坏数据进行预处理。通常的做法是采用绝对均值法或莱因达法等对样本中的坏点数据进行剔除处理。
数据标准化
数据标准化的目的就是要消除变量间的量纲关系,从而使数据具有可比性。比如一个百分制的变量与一个5分制的变量在一起怎么比较?只有通过数据标准化,都把它们标准到同一个标准时才具有可比性,一般标准化采用的是Z标准化,即均值为0,方差为1,当然也有其他标准化,比如0-1标准化等,可根据研究目的进行选择。
主成分分析
主成分分析(PCA)是指用几个较少的综合指标来代替原来较多的指标,而这些较少的综合指标既能尽可能多地反映原来较多指标的有用信息,且相互之间又是无关的。
PCA运算就是一种确定一个坐标系统的直交变换,在这个新的坐标系统下,变换数据点的方差沿新的坐标轴得到了最大化。这些坐标轴经常被称为是主成分。PCA运算是一个利用了数据集的统计性质的特征空间变换,这种变换在无损或很少损失了数据集的信息的情况下降低了数据集的维数。
属性选择
属性选择是数据预处理的一部分,因采集的数据中的每一个属性对于整个数据的挖掘结果的作用不是完全对等的,一些属性对结果的影响占主导地位,一些属性对结果的影响不大,甚至没有影响。采用相应的算法,对数据的属性值进行评估,如去掉某个属性后对挖掘结果无影响,从而减少后续挖掘算法的运行时间,同时也能有效地去除数据中含有的噪声数据。
如果建模数据集的维度较高,或输入属性与输出属性的相关性不明确时,对其进行属性选择是必要的步骤。综合考虑应用实现的复杂性,可使用标准属性选择方法,用一个评估标准对属性的有用性进行度量,并选择其最有用的一部分属性作为下一部分算法的输入。为了确定属性选择的标准,可选用多种方法进行属性评价,选出5~10个不同的属性,然后对于处理后的数据集进行测试,综合评价维度约减前后的预测模型的性能及效果。
属性选择用于对属性进行筛选,搜索数据集中全部属性的所有可能组合,找出预测效果最好的那一组属性,一般在预处理阶段进行。为实现这一目标,必须设定属性评估器和搜索策略。属性评估器是对属性/属性子集进行评估确定,决定了怎样给一组属性安排一个表示它们好坏的值。搜索策略确定搜索算法,决定了要怎样进行搜索。
数据规约
把繁杂的样本数据信息进行数据规约,简化以后存储在数据表中,避免数据的不一致性。
数据建模
数据挖掘者将准备好的数据输入数据挖掘软件并研究结果。为实现此目的,他们可以选择多种数据挖掘技术和工具。他们还必须编写测试来评估数据挖掘结果的质量。为了对数据建模,数据科学家可以:
- 在具有已知结果的较小数据集上训练机器学习(ML)模型
- 使用模型进一步分析未知数据集
- 调整并重新配置数据挖掘软件,直到结果令人满意
评估模型
创建模型后,数据挖掘者开始对照原业务目标对其进行衡量。他们与业务分析师分享结果并收集反馈。模型可能很好地回答了原来的问题,或者显示出以前未知的新模式。数据挖掘者可以根据业务反馈更改模型、调整业务目标或重访数据。持续评估、反馈和修改是知识发现过程的一部分。
部署模型
在部署期间,其他利益相关者使用工作模型生成商业智能。数据科学家计划部署流程,包括向其他人传授模型功能、持续监控和维护数据挖掘应用程序。业务分析师使用该应用程序创建管理报告,与客户共享结果,并改进业务流程。
数据挖掘的方法有哪些
异常检测(Anomaly detection)
异常检测是在数据集中识别异常或意外事件,并确定它们是否正面存在问题的过程。数据挖掘技术可用于识别异常,一般来说,会比简单的、基于规则的方法更有效。
聚类分析(Clustering Analysis)
聚类是一种数据挖掘技术,它可以把各个对象分组在一起,并用于后续的分析工作。聚类不同于其他数据挖掘技术,它不依赖于对数据预先确定的假设。相反,聚类依赖于对象的自然分组。
聚类通常用来发现有相似特征的对象组。然后,这些信息可以用于各种分析任务,例如预测未来的行为,或在数据中寻找模式。
现有,聚类算法多种多样,各有优缺点。为手头的任务选择正确的聚类算法是很重要的,因为不正确的选择可能导致不准确的结果。
分类分析(Classification Analysis)
分类是一种流行的数据分析技术。它可以用来识别物品的类型,或者预测物品所属的类别。它经常用于垃圾邮件过滤,因为它可以用来识别哪些电子邮件可能是垃圾邮件。
回归分析(Regression Analysis)
回归分析是一种用来分析变量之间关系的技术。它可以用来预测给定数据集的未来行为。回归分析的主要目标是识别变量之间的关系,了解它们是如何相互影响的。
有许多不同的数据挖掘技术可用于回归分析,包括线性模型、逻辑回归和支持向量机。每种技术都有自己的优缺点,所以选择一种最适合手头数据和问题的技术非常重要。
回归分析是理解数据如何影响行为的重要工具,它在金融、市场营销和工程等广泛领域都有应用。
选择建模(Choice Modeling)
选择建模是一种用于预测未来选择的数据挖掘技术。它使用过去的选择来预测未来的选择。该技术可以应用于各种各样的情况,包括市场营销、产品设计和预测客户行为等等。
选择建模的基本思想是,我们可以通过了解过去影响人们的因素来理解他们的选择。通过了解这些因素,我们可以更好地预测人们在未来将如何选择。
选择建模在市场营销中得到了广泛的应用。市场人员利用它来了解客户如何做决定,并找出要销售的产品,他们也会用它来设计新的产品和服务。
产品设计师可以用选择模型来了解人们对不同类型产品的偏好,用它来创造更人性化的设计。
规则归纳(Rules Induction)
规则归纳是一种数据挖掘技术,它使用规则来发现数据中的模式。规则可以是明确的,也可以是隐设的。明确的规则可以用语句的形式编写,而隐设的规则会由数据本身产生。规则可以是任何类型的语句,包括数学公式、变量之间的比较、和逻辑操作。
规则归纳非常强大,因为你无需明确列出所有可能的模式,它就能在数据中自动查找模式。在定义了一些规则后,归纳搜索将自动在数据中找到与这些规则匹配的新模式。
在使用规则归纳时,需要记住几个关键事项:
首先,要确保你的规则与你想解决的问题相关;
第二,确保你的数据组织良好;
第三,确保你的规则定义清晰简洁。
神经网络(Neural networks)
神经网络是一种计算机程序,可以用来模拟复杂的模式,通常需要大量数据的帮助。它们已被用于各种领域,如数据挖掘和机器学习。
神经网络特别适合于理解变量之间复杂关系的任务,例如预测事件的结果、或识别大型数据集中的模式。
关联学习(Association learning)
关联学习是一种数据挖掘技术,可以帮助发现数据中实体之间的关联。关联学习的目标是在数据中发现不明显的模式。
为什么要使用关联学习?
使用关联学习技术的原因有很多。例如,你可能希望找到两组数据之间的相关性,或者希望找到不同类型数据之间的关系。
关联学习是如何工作的?
关联学习的过程从训练数据集开始,使用这些数据集可以了解数据中的实体是如何关联的。在了解了这些关系的工作原理之后,你就可以使用这些知识来探索新的数据集。
数据挖掘面临的挑战
大数据
数据正在以更快的速度生成,为数据挖掘提供了更多机会。但是,鉴于数据量大、速度快、数据结构种类繁多,非结构化数据越来越多,因此现代数据挖掘工具需要从大数据中提取意义。许多现有系统难以处理、存储和利用这种大量输入。
用户能力
数据挖掘和分析工具旨在帮助用户和决策者从海量数据中获取有意义和一致的意义和洞察力。在高度技术的同时,这些强大的工具现在还配有出色的用户体验设计,因此几乎任何人都可以在最少的培训下使用这些工具。但是,要充分获益,用户必须了解可用的数据及其正在寻求的信息的业务上下文。他们还必须知道,至少总的来说,这些工具是如何工作的,以及他们能做什么。这并不超出普通经理或高管的范围,但这是一个学习过程,用户需要投入一些精力来开发这一新技能。
数据质量和可用性
随着大量新数据的出现,还有大量不完整、不正确、误导、欺诈、损坏或仅简单无用的数据。这些工具可以帮助对此进行划分,但用户必须持续了解数据源及其可信性和可靠性。隐私问题也很重要,无论是获取数据还是您拥有的护理和处理。