跟我一起数据挖掘(19)——什么是数据挖掘(2)

简介:

什么是数据仓库?

数据仓库是一个面向主题的( Subject Oriented) 、集成的( Integrate) 、相对稳定的(NonVolatile) 、反映历史变化( Time Variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理:

①数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;

②数据仓库是对多个异构数据源的有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。

企业数据仓库的建设是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们作出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理、归纳和重组,并及时提供给相应的管理决策人员是数据仓库的根本任务。

数据立方体与OLAP

数据立斱体以多维对数据迚行建模和观察。

下图就是客户、产品和销售的数据立方体:

image

OLAP的多维分析操作包括:钻取(Drill-down)上卷(Roll-up)切片(Slice)切块(Dice)以及旋转(Pivot)等。

钻取(Drill-down):在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据,比如通过对2010年第二季度的总销售数据进行钻取来查看2010年第二季度4、5、6每个月的消费数据。

上卷(Roll-up):钻取的逆操作,即从细粒度数据向高层的聚合,如将江苏省、上海市和浙江省的销售数据进行汇总来查看江浙沪地区的销售数据。

切片(Slice):选择维中特定的值进行分析,比如只选择电子产品的销售数据,或者2010年第二季度的数据。

切块(Dice):选择维中特定区间的数据或者某批特定值进行分析,比如选择2010年第一季度到2010年第二季度的销售数据,或者是电子产品和日用品的销售数据。

旋转(Pivot):即维的位置的互换,就像是二维表的行列转换,如图中通过旋转实现产品维和地域维的互换。

数据挖掘解决的四大类问题

1、分类

分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强调客户细分。客户类别分析的功能也在于此,采用数据挖掘中的分类技术,可以将客户分成不同的类别,比如呼叫中心设计时可以分为:呼叫频繁的客户、偶然大量呼叫的客户、稳定呼叫的客户、其他,帮助呼叫中心寻找出这些不同种类客户之间的特征,这样的分类模型可以让用户了解不同行为类别客户的分布特征;其他分类应用如文献检索和搜索引擎中的自动文本分类技术;安全领域有基于分类技术的入侵检测等等。机器学习、专家系统、统计学和神经网络等领域的研究人员已经提出了许多具体的分类预测方法。下面对分类流程作个简要描述:

训练:训练集——>特征选取——>训练——>分类器

分类:新样本——>特征选取——>分类——>判决

下面看一个基于决策树的分类器的示例:

image

2、聚类

聚类:将数据对象划分为若干类,同一类的对象具有较高的相似度,不同类的对象相似度较低。从这个简单的描述中,可以看出聚类的关键是如何度量对象间的相似性。较为常见的用于度量对象的相似度的方法有距离密度等。

聚类分析的原理可以根据下图来看:

对牌进行分组:

image

按花色分:

image

按符号分:

image

按颜色分:

image

按大小程度相近分:

image

下面就是一个聚类的示例:

image

3、预测

数据挖掘预测与周易预测有相似之处。周易建立在阴阳二元论基础上,对天地万物进行性状归类(天干地支五行论),精确到可以对事物的未来发展做出较为准确的预测。许多学者认为周易理论依据是万事万物的相似性、关联性和全息性原理。这三个原理已被现代科学所证实。全息性是指事物的某一局部包含了整体的信息。例如,法医工作者对一根毛发进行化验,得出受害者或嫌疑人的许多身体特征。

周易预测通过对历史事件的学习来积累经验,得出事物间的相似性和关联性,从而对事物的未来状况做出预测。数据挖掘预测则是通过对样本数据(历史数据)的输入值和输出值关联性的学习,得到预测模型,再利用该模型对未来的输入值进行输出值预测。一般地,可以通过机器学习方法建立预测模型。DM(Data Mining)的技术基础是人工智能(机器学习),但是DM仅仅利用了人工智能(AI)中一些已经成熟的算法和技术,因而复杂度和难度都比AI小很多。

机器学习:假定事物的输入、输出之间存在一种函数关系y=f(x, β),其中β是待定参数,x是输入变量,则y=f(x, β)称为学习机器。通过数据建模,由样本数据(一般是历史数据,包含输入值和输出值)学习得到参数β的取值,就确定了具体表达式y=f(x, β),这样就可以对新的x预测y了。这个过程称作机器学习。

数据建模不同于数学建模,它是基于数据建立数学模型,它是相对于基于物理、化学和其他专业基本原理建立数学模型(即机理建模)而言的。对于预测来说,如果所研究的对象有明晰的机理,可以依其进行数学建模,这当然是最好的选择。但是实际问题中,一般无法进行机理建模。但是历史数据往往是容易获得的,这时就可使用数据建模。

典型的机器学习方法包括:决策树方法人工神经网络支持向量机正则化方法。其他常见的预测方法还有近邻法朴素贝叶斯(属于统计学习方法)等。

预测的模型可以参考下图:

image

4、关联

分析各个物品或者商品之间同时出现的机率。

在各种数据挖掘算法中,关联规则挖掘算是比较重要的一种,尤其是受购物篮分析的影响,关联规则被应用到很多实际业务中。

首先,和聚类算法一样,关联规则挖掘属于无监督学习方法,它描述的是在一个事物中物品间同时出现的规律的知识模式,现实生活中,比如超市购物时,顾客购买记录常常隐含着很多关联规则,比如购买圆珠笔的顾客中有65%也购买了笔记本,利用这些规则,商场人员可以很好的规划商品摆放问题。在电商网站中,利用关联规则可以发现哪些用户更喜欢哪类的商品,当发现有类似的客户的时候,可以将其它客户购买的商品推荐给相类似的客户,以提高网站的收入。

下图就是一个关联的示例:

image

CRISP-DM

CRISP-DM 模型为一个KDD工程提供了一个完整的过程描述.该模型将一个KDD工程分为6个不同的,但顺序并非完全不变的阶段。

1: business understanding: 即商业理解. 在第一个阶段我们必须从商业的角度上面了解项目的要求和最终目的是什么. 并将这些目的与数据挖掘的定义以及结果结合起来。

2: data understanding: 数据的理解以及收集,对可用的数据进行评估。

3: data preperation: 数据的准备,对可用的原始数据进行一系列的组织以及清洗,使之达到建模需求。

4: modeling: 即应用数据挖掘工具建立模型。

5: evaluation: 对建立的模型进行评估,重点具体考虑得出的结果是否符合第一步的商业目的。

6: deployment: 部署(方案实施),即将其发现的结果以及过程组织成为可读文本形式.(数据挖掘报告)。

image

商业理解(Business understanding):商业理解阶段应算是数据挖掘中最重要的一个部分,在这个阶段里我们需要明确商业目标、评估商业环境、确定挖掘目标以及产生一个项目计划。 
     数据理解(Data understanding):数据是我们挖掘过程的“原材料”,在数据理解过程中我们要知道都有些什么数据,这些数据的特征是什么,可以通过对数据的描述性分析得到数据的特点。 
     数据准备(Date preparation):在数据准备阶段我们需要对数据作出选择、清洗、重建、合并等工作。选出要进行分析的数据,并对不符合模型输入要求的数据进行规范化操作。 
     建模(Modeling):建模过程也是数据挖掘中一个比较重要的过程。我们需要根据分析目的选出适合的模型工具,通过样本建立模型并对模型进行评估。 
     模型评估(Evaluation):并不是每一次建模都能与我们的目的吻合,评价阶段旨在对建模结果进行评估,对效果较差的结果我们需要分析原因,有时还需要返回前面的步骤对挖掘过程重新定义。 
     结果部署(Deployment):这个阶段是用建立的模型去解决实际中遇到的问题,它还包括了监督、维持、产生最终报表、重新评估模型等过程。

总结

以上分别介绍了数据仓库和数据立方体,并且介绍了数据挖掘要解决的四大类问题,任何跟数据挖掘相关的问题都可以先归类到这四大类问题中,然后再根据相应的算法进行解决。

最后介绍了CRISP-DM 模型,是IBM提出的标准模型,可以对数据挖掘的过程进行理论的指导。在接下来会针对用户产生的数据来探讨如何进行用户画像。

目录
相关文章
|
3月前
|
前端开发 Java 微服务
2025 版 Java 学习路线图之技术方案与实操指南详解
这是一份详尽的Java学习路线图,涵盖从入门到精通的全流程。基础阶段包括环境搭建、语法基础与面向对象编程;进阶阶段深入数据结构、算法、多线程及JVM原理;框架阶段学习Spring、MyBatis等工具;数据库阶段掌握SQL与NoSQL技术;前端阶段了解HTML、CSS及JavaScript框架;分布式与微服务阶段探讨容器化、服务注册与发现;最后通过项目实战提升性能优化与代码规范能力。资源地址:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
269 7
|
测试技术
你真的知道什么是冒烟测试吗?
大家好,我是阿萨。日常工作中,经常都会提到冒烟测试。那么什么是冒烟测试呢?
3429 0
你真的知道什么是冒烟测试吗?
|
SQL 缓存 Java
Flink SQL 核心解密 —— 提升吞吐的利器 MicroBatch
之前我们在 Flink SQL 中支持了 MiniBatch, 在支持高吞吐场景发挥了重要作用。今年我们在 Flink SQL 性能优化中一项重要的改进就是升级了微批模型,我们称之为 MicroBatch,也叫 MiniBatch2.0。
5650 0
|
9月前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
211 6
|
边缘计算 人工智能 监控
边缘计算与AI结合的场景案例研究
【8月更文第17天】随着物联网(IoT)设备数量的爆炸性增长,对实时数据处理的需求也随之增加。传统的云计算模型在处理这些数据时可能会遇到延迟问题,尤其是在需要即时响应的应用中。边缘计算作为一种新兴的技术趋势,旨在通过将计算资源更靠近数据源来解决这个问题。本文将探讨如何将人工智能(AI)技术与边缘计算结合,以实现高效的实时数据分析和决策制定。
1032 1
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
225 2
zabbix agent集成percona监控MySQL的插件实战案例
|
10月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器c7/c8a/c8y/c8i/g7/g8a/g8y/g8i/r7/r8a/r8y/r8i实例区别及选择参考
在阿里云目前的活动中,除了特价的轻量应用服务器和经济型e及通用算力型u1实例之外,属于计算型实例的实例有计算型c7/c8a/c8y/c8i,属于通用型实例的有通用型g7/g8a/g8y/g8i,属于内存型实例的有内存型r7/r8a/r8y/r8i。本文将详细介绍阿里云服务器中的c7、c8a、c8y、c8i、g7、g8a、g8y、g8i、r7、r8a、r8y、r8i等实例规格的性能、适用场景及选择参考,帮助用户更好地选择合适的云服务器实例。
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
428 2
|
数据可视化 Ubuntu 机器人
WebViz可视化工具的应用
WebViz可视化 Webviz是一个基于Web的可视化工具,意味着您可以通过浏览器/APP访问它,而不需要安装额外的软件。这对于远程访问和团队协作非常方便。 Foxglove是一个开源的工具包,包括线上和线下版。旨在简化机器人系统的开发和调试。它提供了一系列用于构建机器人应用程序的功能。 本节将介绍如何使用Foxglove进行数据查看,以及话题通信。 为了实现OriginBot与Foxglove的连接,我们需要在OriginBot上搭建ROS环境。请确保您的机器人是OriginBot(视觉版/导航版),并且您的PC运行的是Ubuntu(≥20.04)或Windows(>=10)。
176 6
|
运维 应用服务中间件 nginx
OS Copilot详细测评:回答能力尚可,辅助执行功能亟需完善
OS Copilot 是一个非常有潜力的工具。它在回答上表现不错,能够提供详细的指令和建议,帮助用户解决实际问题,但是就目前而言,其指令执行相关的能力还存在较多问题,亟需完善。
10981 5

热门文章

最新文章