数据挖掘,让复杂的数据变得更得心应手
在如今的大数据时代,信息的来源日益繁多,包括网站、企业应用程序、社交媒体、移动设备以及日益增加的物联网产生的信息(loT)。对企业来说,如何从这些信息中获得真正的商业价值变得越发重要,而数据挖掘就是数据分析过程中有针对性的一环,优秀的数据分析师会用聪明的挖掘动作,让复杂的数据变得更得心应手。
“数据挖掘”这个术语常常被应用于各种大规模的数据处理活动中,如收集、提取、仓储和分析数据。它还可以应用于帮助应用程序和技术的改进决策,如人工智能、机器学习和商业智能。
今天DataHunter数猎哥就来说说,什么是数据挖掘?数据挖掘的过程是怎样的?以及它的具体算法又有哪些?
一、在大千世界中,发现有价值的知识
1.数据挖掘的定义
数据挖掘(Data
Mining)是指通过大量数据集进行分类的自动化过程,以通过数据分析来识别趋势和模式,建立关系来解决业务问题。换句话说,数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
2.与数据分析的区别
数据分析和数据挖掘都是从数据库中发现知识、所以我们称数据分析和数据挖掘叫做数据库中的知识发现。但严格意义上来讲,数据挖掘才是真正意义上的数据库中的知识发现(Knowledge Discovery in Database,KDD)。
数据分析是从数据库中通过统计、计算、抽样等相关的方法,获取基于数据库的数据表象的知识,也就是指数据分析是从数据库里面得到一些表象性的信息。数据挖掘是从数据库中,通过机器学习或者是通过数学算法等相关的方法获取深层次的知识(比如属性之间的规律性,或者是预测)的技术。
3.数据挖掘,有利有弊
原则上讲,数据挖掘可以应用于任何类型的信息存储库及瞬态数据(如数据流),如数据库、数据仓库、数据集市、事务数据库、空间数据库(如地图等)、工程设计数据(如建筑设计等)、多媒体数据(文本、图像、视频、音频)、网络、数据流、时间序列数据库等。也正因如此,数据挖掘存在以下特点:
(1)数据集大且不完整
数据挖掘所需要的数据集是很大的,只有数据集越大,得到的规律才能越贴近于正确的实际的规律,结果也才越准确。除此以外,数据往往都是不完整的。
(2)不准确性
数据挖掘存在不准确性,主要是由噪声数据造成的。比如在商业中用户可能会提供假数据;在工厂环境中,正常的数据往往会收到电磁或者是辐射干扰,而出现超出正常值的情况。这些不正常的绝对不可能出现的数据,就叫做噪声,它们会导致数据挖掘存在不准确性。
(3)模糊的和随机的
数据挖掘是模糊的和随机的。这里的模糊可以和不准确性相关联。由于数据不准确导致只能在大体上对数据进行一个整体的观察,或者由于涉及到隐私信息无法获知到具体的一些内容,这个时候如果想要做相关的分析操作,就只能在大体上做一些分析,无法精确进行判断。
而数据的随机性有两个解释,一个是获取的数据随机;我们无法得知用户填写的到底是什么内容。第二个是分析结果随机。数据交给机器进行判断和学习,那么一切的操作都属于是灰箱操作。
由此,我们可以看出,数据挖掘这个强大的工具是利弊共存的,在合适的时机使用,方能事倍功半。
二、持续发展业务,数据挖掘技术不可忽视
1.更便捷的开发模型
在过去很多年, 首要原则模型 (first-principle
models)是科学工程领域最为经典的模型。比如你要想知道某辆车从启动到速度稳定行驶的距离,那么你会先统计从启动到稳定耗费的时间、稳定后的速度、加速度等参数;然后运用牛顿第二定律(或者其他物理学公式)建立模型;最后根据该车多次实验的结果列出方程组从而计算出模型的各个参数。
通过该过程,你就相当于学习到了一个知识 --- 某辆车从启动到速度稳定行驶的具体模型。此后往该模型输入车的启动参数便可自动计算出该车达到稳定速度前行驶的距离。
然而,在数据挖掘的思想中,知识的学习是不需要通过具体问题的专业知识建模。如果之前已经记录下了100辆型号性能相似的车,从启动到速度稳定行驶的距离,那么我就能够对这100个数据求均值,从而得到结果。显然,这一过程是是直接面向数据的,或者说我们是直接从数据开发模型的。
这其实是模拟了人的原始学习过程。比如你要预测一个人跑100米要多久时间,你肯定是根据之前了解的他(研究对象)这样体型的人跑100米用的多少时间做一个估计,而不会使用牛顿定律来算。
2.计算机技术的成熟
数据挖掘理论涉及到的面很广,它实际上起源于多个学科。如建模部分主要起源于统计学和机器学习。统计学方法以模型为驱动 ,常常建立一个能够产生数据的模型;而机器学习则以算法为驱动 ,让计算机通过执行算法来发现知识。
随着互联网工具的发展,分享和协作的成本大大降低。我们每天用手机聊天、购物、刷短视频、看新闻等日常的不经意动作给互联网行业提供了体量庞大的数据。这些数据通常被收集、存放在大型数据存储库中,没有强有力的工具,理解它们已经远远超出了我们的能力。而数据挖掘技术的出现解决了这一问题。它可以从海量的数据中提取出有价值的信息,从而作为决策的重要依据。
3.为企业生产销售做预测
数据挖掘的真正价值在于能够以数据中的模式和关系的形式挖掘隐藏的宝石,这可以用来做出对企业有重大影响的预测。例如,如果一家公司确定特定的营销活动导致在该国某些地区的某种产品的特定型号的销售额非常高,而在其它地区则不然,那么它可以在将来重新调整该广告活动以获得最大的回报。
该技术的好处可能会因业务类型和目标而异。例如,零售业的销售和营销经理可能用不同的方式挖掘客户信息以提高转化率,这种提高转化率的方式迥异于航空公司或金融服务业。
不管是什么行业,过去应用于销售模式和客户行为的数据挖掘都可用于创建预测未来销售和行为的模型。数据挖掘也有助于取消可能损害企业的活动。例如,你可以使用数据挖掘来提高产品的安全性,或检测保险和金融服务交易中的欺诈活动。
三、数据挖掘的目标是什么?
数据挖掘的两大基本目标是预测和描述数据,其中前者的计算机建模及实现过程通常被称为监督学习(supervised learning) ,后者的则通常被称为无监督学习(supervised learning) 。往更细分,数据挖掘的目标可以划分为以下这些:
1.预测数据
预测性挖掘任务对当前数据进行推断,以做出预测。预测主要包括分类——将样本划分到几个预定义类之一;回归——将样本映射到一个真实值预测变量上。也就是说给了一定的目标属性,让去预测目标的另外一特定属性。如果该属性是离散的,通常称之为“分类”,而如果目标属性是一个连续的值,则称之为“回归”。
2.描述数据
描述性挖掘任务是描述数据库中数据的一般性质。描述主要包括聚类——将样本划分为不同类(无预定义类),关联规则发现——发现数据集中不同特征的相关性。这是指找出数据间潜在的联系模式。比方说两个数据存在强关联的关系,像大数据分析发现的一个特点:买尿布的男性通常也会买点啤酒,那么商家根据这个可以将这两种商品打包出售来提高业绩。
另外一个非常重要的就是聚类分析,这也是在日常数据挖掘中应用非常非常频繁的一种分析,旨在发现紧密相关的观测值组群,可以在没有标签的情况下将所有的数据分为合适的几类来进行分析或者降维。
其他的描述任务还有异常检测,其过程类似于聚类的反过程,聚类将相似的数据聚合在一起,而异常检测将离群太远的点给剔除出来。
四、数据挖掘的常见分析方法
1.对数字化转型缺乏共识
对于传统行业企业,在推进数字化转型时,不能先入为主地认为自己深耕多年的传统业务与能力基础一定会与数字化转型背道而驰。企业拥抱数字化转型的正确方式应该是为了企业竞争力提升和业务创新而数字化,而不是为了数字化而数字化。
1.神经网络方法
神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。
2.遗传算法
遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法,是一种仿生全局优化方法。遗传算法具有的隐含并行性、易于和其它模型结合等性质使得它在数据挖掘中被加以应用。
3.决策树方法
决策树是一种常用于预测模型的算法,它通过将大量数据有目的分类,从中找到一些有价值的,潜在的信息。它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。
4.粗集方法
粗集理论是一种研究不精确、不确定知识的数学工具。粗集方法有几个优点:不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。粗集处理的对象是类似二维关系表的信息表。
5.覆盖正例排斥反例方法
它是利用覆盖所有正例、排斥所有反例的思想来寻找规则。首先在正例集合中任选一个种子,到反例集合中逐个比较。与字段取值构成的选择子相容则舍去,相反则保留。按此思想循环所有正例种子,将得到正例的规则(选择子的合取式)。
6.统计分析方法
在数据库字段项之间存在两种关系:函数关系和相关关系,对它们的分析可采用统计学方法,即利用统计学原理对数据库中的信息进行分析。可进行常用统计、回归分析、相关分析、差异分析等。
7.模糊集方法
即利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。系统的复杂性越高,模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。其他相关算法参考文末分享的参考文章。
五、数据挖掘的基本步骤
从形式上来说,数据挖掘的开发流程是迭代式的。开发人员通过如下几个阶段对数据进行迭代式处理:
1.解读需求
绝大多数的数据挖掘工程都是针对具体领域的,因此数据挖掘工作人员不应该沉浸在自己的算法模型世界里,而应该多和具体领域的专家交流合作以正确的解读出项目需求,且这种合作应当贯穿整个项目生命周期。
2.搜集数据
在大型公司,数据搜集大都是从其他业务系统数据库提取。很多时候我们是对数据进行抽样,在这种情况下必须理解数据的抽样过程是如何影响取样分布,以确保评估模型环节中用于训练(train)和检验(test)模型的数据来自同一个分布。
3.预处理数据
预处理数据可主要分为数据准备和数据归约两部分。其中前者包含了缺失值处理、异常值处理、归一化、平整化、时间序列加权等;而后者主要包含维度归约、值归约、以及案例归约。
4.评估模型
确切来说,这一步就是在不同的模型之间做出选择,找到最优模型。很多人认为这一步是数据挖掘的全部,但显然这是以偏概全的,甚至绝大多数情况下这一步耗费的时间和精力在整个流程里是最少的。
5.解释模型
数据挖掘模型在大多数情况下是用来辅助决策的,人们显然不会根据“黑箱模型”来制定决策。如何针对具体环境对模型做出合理解释也是一项非常重要的任务
六、数据挖掘在各行业的应用
零售商可以部署数据挖掘,以更好地识别人们根据过去的购买习惯可能购买哪个产品,或者哪些商品在一年的某些时间可能热卖。这可以帮助商家规划库存和存储布局,同时也可以利用数据挖掘来做线下零售店铺的智能选址。
银行和其他它金融服务提供商可以挖掘与其客户帐户、交易和渠道偏好相关的数据,以更好地满足他们的需求。它们还可以从他们的网站和社交媒体互动中分析数据,以增加现有客户的忠诚度并吸引新客户。
制造企业可以使用数据挖掘在生产过程中发现模式,从而可以精确地识别出瓶颈和有缺陷的方法,并设法提高效率。它们还可以将知识从数据挖掘应用于产品设计,并根据客户体验的反馈进行调整。
教育机构可以从数据挖掘中受益,例如分析数据集,以预测学生的未来学习行为和表现,然后利用这些知识来改进教学方法或课程。
医疗保健提供者可以挖掘和分析数据,以确定向患者提供护理和降低成本的更好的方法。在数据挖掘的帮助下,他们可以预测需要照顾的病人数量以及患者需要什么类型的服务。在生命科学领域,数据挖掘可用于从大量生物数据中获取洞察,帮助开发新药和其他治疗方法。
在包括医疗保健和零售在内的多个行业,你可以使用数据挖掘来检测诈骗和其它滥用行为——比传统的识别此类活动的方法要快得多。
七、小结
在数据挖掘中,准备本身的初始行为(例如聚集然后使数据合理化)可以揭示可能危及数据机密性的信息或模式。因此,不经意地违反道德问题或法律要求是有可能的。因此数据挖掘的每一步还需要数据保护,以确保数据不被偷窃、改变或秘密访问。安全工具包括加密、访问控制和网络安全机制。
尽管存在这些挑战,但数据挖掘已成为很多组织IT战略的重要组成部分,这些组织力图通过收集或访问的所有信息获得价值。随着预测分析、人工智能、机器学习和其它相关技术的不断进步,这一驱动力无疑将加速。