数据仓库和数据挖掘基础

文章目录

    • 1. 数据仓库基础知识
      • 1.1 数据仓库的基本特性
      • 1.2 数据仓库的数据模式
      • 1.3 数据仓库的体系结构
    • 2. 数据挖掘基础知识
      • 2.1 数据挖掘的分类
      • 2.2 数据挖掘技术
      • 2.3 数据挖掘的应用过程

传统数据库在联机事务处理(OLTP)中获得了较大的成功,但是对管理人员的决策分析要求却无法满足。因为管理人员希望对组织中的大量数据进行分析,了解组织业务的发展趋势,而传统的数据库中只能保留当前的管理信息,缺乏决策分析所需要的大量的历史信息。为了满足管理人员的决策分析需要,在数据库基础上产生了能满足决策分析需要的数据环境—>数据仓库(DataWarehouse, DW)。两者差异如下:

image

1. 数据仓库基础知识

1.1 数据仓库的基本特性

数据仓库有这样一些重要的特性:面向主题的、数据是集成的、数据是相对稳定的、数据是反映历史变化的。

1)面向主题

数据仓库中数据是面向主题进行组织的。从信息管理的角度来看,主题就是一个较高的管理层次上对信息系统中数据按照某一具体的管理对象进行综合、归类所形成的分析对象。从数据组织的角度来看,主题就是一些数据集合,这些数据集合对分析对象进行了比较完整的、一致的数据描述,这种数据描述不仅涉及数据自身,还涉及数据间的联系。

数据仓库的创建使用都是围绕主题实现的,因此,必须了解如何按照决策分析来抽取主题,所抽取的主题应该包含哪些数据内容,这些数据应该如何组织。在进行主题抽取时,必须按照决策分析对象进行。

2)数据是集成的

数据仓库的集成性是指根据决策分析的要求,将分散于各处的原数据进行抽取、筛选、清理、综合等集成工作,使数据仓库中的数据具有集成性。数据仓库所需要的数据不像业务处理系统那样直接从业务发生地获取数据。

数据仓库在从业务处理系统那里获取数据时,并不能将原数据库中的数据直接加载到数据仓库中,而要进行 一系列的数据预处理。即从原数据库中挑选出数据仓库所需要的数据,然后将来自不同数据库中的数据按某一标准进行统一,如将数据源中数据的单位、字长与内容统一起来,将源数据中字段的同名异义、异名同义现象消除,然后将源数据加载到数据仓库,并将数据仓库中的数据进行某种程度的综合,进行概括和聚集的处理。

3)数据是相对稳定的

数据仓库的数据主要是供决策分析之用,所涉及的数据操作主要是数据查询, 一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据的内容,是不同时间的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。

4)数据是反映历史变化的

数据仓库中数据的相对稳定是针对应用来说的,数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不表明在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据是永远不变的。数据仓库的数据是反映历史变化的,这主要表现在如下三个方面:

  • 数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库中去。
  • 数据仓库随时间变化不断删除旧的数据内容。
  • 数据仓库中包含大量的综合数据,这些数据有很多信息与时间有关,如数据经常按时间段进行综合,或隔一定的时间进行抽样等等,这些数据要随时间不断地进行重新综合。

1.2 数据仓库的数据模式

典型的数据仓库具有为数据分析而设计的模式,使用OLAP工具进行联机分析处理。因此数据通常是多维数据,包括维属性、度量属性。包含多维数据的表称为事实表,事实表通常很大。

星型模式是由一个事实表、多维表(一级维表)以及从事实表到多维表的参照外码的模式。

image

雪花模式是由一个事实表、多维表(多级维表)以及从事实表到多维表的参照外码的模式。

image

事实星型模式是由多个事实表、多维表以及从事实表到多维表的参照外码的模式。

image

1.3 数据仓库的体系结构

数据仓库通常采用三层体系结构,底层为数据仓库服务器中间层为OLAP服务器,顶层为前端工具

  • 底层的数据仓库服务器一般是一个关系数据库系统,数据仓库服务器从操作型数据库或外部数据源提取数据,对数据进行清理、转换、集成等,然后装入数据仓库中。
  • 中间层的OLAP服务器的实现可以是关系型OLAP,即扩充的关系型DBMS,提供对多维数据的支持;也可以是多维的OLAP服务器,它是一种特殊的服务器,直接支持多维数据的存储和操作。
  • 顶层的前端工具包括查询和报表工具、分析工具、数据挖掘工具等。

从结构的角度看有三种数据仓库模型:企业仓库数据集市虚拟仓库

  • 企业仓库收集跨越整个企业的各个主题的所有信息。它提供全企业范围的数据集成,数据通常都来自多个操作型数据库和外部信息提供者,并且是跨越多个功能范围的。它通常包含详细数据和汇总数据 。
  • 数据集市包含对特定用户有用的、企业范围数据的一个子集。实现数据集市的周期一般是数周,而不是数月或数年。根据数据的来源不同,数据集市分为独立的和依赖的两类。在独立的数据集市中,数据来自一个或多个操作型数据库或外部信息提供者,或者是一个特定部门或地区本地产生的数据。在依赖数据集市中,数据直接来自企业数据仓库。
  • 虚拟仓库是操作型数据库上视图的集合。为了有效地处理查询,只有一些可能的汇总视图被物化。虚拟仓库易于建立,但需要操作型数据库服务器具有剩余能力。

2. 数据挖掘基础知识

数据挖掘 (Data Mining,DM) 是从海量数据库中挖掘信息的技术。从技术角度看,数据挖掘可以定义为从大量的、不完全的、有噪声的、模糊的、随机的实际数据中提取隐含在其中的、人们不知道的、但又潜在有用的信息和知识的过程。

2.1 数据挖掘的分类

按照所挖掘数据库的种类可分为:关系型数据库的数据挖掘、数据仓库的数据挖掘、面向对象数据库的挖掘、空间数据库的挖掘、正文数据库和多媒体数据库的数据挖掘等。

按所发现的知识类别可分为:关联规则、特征描述、分类分析、 聚类分析、趋势和偏差分析等。

按所发现的知识抽象层次可分为:一般化知识、初级知识和多层次知识等。

通常有海量数据搜集、强大的多处理器计算机、数据挖掘算法。在数据挖掘中最常用的技术有:

  • 人工神经网络:仿照生理神经网络结构的非线形预测模型,通过学习进行模式识别。
  • 决策树:代表着决策集的树形结构。
  • 遗传算法:基于进化理论,并采用遗传结合、遗传变异,以及自然选择等设计方法的优化技术。
  • 近邻算法:将数据集合中每一个记录进行分类的方法。
  • 规则推导:从统计意义上对数据中的“如果-那么” 规则进行寻找和推导。

2.2 数据挖掘技术

数据挖掘相关技术:

  • 关联分析是数据之间有比较强的依赖关联。如超市中的黄油和面包,常见的技术有Apriori、FP-growth。
  • 序列模式分析也是依赖,但是强调前后因果关系。如购买一种商品时,有多大几率购买另一种商品。常见的技术有AprioriAll、AprioriSome、GSP。
  • 回归分析是数据的属性值的特性。
  • 分类是根据历史或者已有的信息来预测新数据。如根据已有数据来预测哪些贷款有风险。常见的技术有C4.5、ID3、Logistic回归、朴素贝叶斯。
  • 聚类是根据数据相似的特征将其归为一类。常见的技术有K-Means、DBSCAN、EM。

回归和分类共同拥有的技术有SVM、KNN算法。

数据挖掘与数据仓库的关系:数据仓库不仅是集成数据的一种方式,数据仓库的联机分析功能 OLAP 还为数据挖掘提供了一个极佳的操作平台。如果数据仓库与数据挖掘能够实现有效的结合,将给数据挖掘带来各种便利和功能。

2.3 数据挖掘的应用过程

数据挖掘过程一般需要经历确定挖掘对象、准备数据、建立模型、数据挖掘、结果分析与知识应用这样几个阶段。

1)确定挖掘对象

数据挖掘的第一步是要定义清晰的挖掘对象、认清数据挖掘的目标。数据挖掘的最后结果往往是不可预测的,但是探索的问题应是有预见性的、有目标的。为了数据挖掘而挖掘数据带有盲目性,往往是不会成功的。
在定义挖掘对象时,需要确定这样的问题:

  • 从何处入手?
  • 需要挖掘什么数据?
  • 要用多少数据?
  • 数据挖掘要进行到什么程度?
  • 虽然在数据挖掘中常常事先不能确定最后挖掘的结果到底是什么?

例如,选择的数据是描述信用卡客户的实际支付情况,那么数据挖掘者的工作就可能是围绕着获取信用卡使用者实际支付情况而展开的。

有时还要用户提供一些先验的知识,例如概念树等。这些先验知识可能是用户业务领域知识或以前数据挖掘所获得的初步成果。这就意味着数据挖掘是一个过程,在挖掘过程中可能提出新的问题,可能尝试用其他方法来检验数据,在数据的子集上进行同样的研究。有时业务对象是一些已经理解的数据,但是在某些情况下还需要对这些数据进行挖掘。此时,不是通过数据挖掘发现新的有价值的信息,而是通过数据挖掘验证假设的正确性,或者是通过同样方式的数据挖掘查看模式是否发生变化。如果在经常性的同样的数据挖掘中的一次挖掘没有出现以前同样的结果,这意味着模式已经发生了变化,可能需要进行更深层次的挖掘。

例如,“提高客户对企业促销的响应率”和“提高每个客户的响应价值”这两个目标是不同的,并且在定义问题的同时,也生成了评价 CRM 应用结果的标准和方法,即确定了数据挖掘的评价指标。

2)准备数据

在确定数据挖掘的业务对象后,需要搜索所有与业务对象有关的内部和外部数据,从中选出适合于数据挖掘应用的数据。对数据的选择必须在建立数据挖掘模型之前完成。选择数据后,还需要对数据进行预处理,对数据进行清洗、解决数据中的缺失值、冗余、数据值的不一致性、数据定义的不一致性、过时数据等问题。在数据挖掘时,有时还需要对数据分组,以提高数据挖掘的效率,降低模型的复杂度。

3)建立模型

将数据转换成一个分析模型,这个分析模型是针对挖掘算法建立的。建立一个真正适合挖掘算法的分析模型,是数据挖掘的关键。

4)数据挖掘

对所得到的经过转化的数据进行挖掘,除了完善与选择合适的算法需要人工干预外,数据挖掘工作都由数据挖掘工具自动完成。

5)结果分析

当数据挖掘出现结果后,要对挖掘结果进行解释和评估。具体的解释和评估方法一般根据数据挖掘操作结果所制定的决策成败来定,但是管理决策分析人员在使用数据挖掘结果之前,又希望能够对挖掘的结果进行评估,以保证数据挖掘结果在实际应用中的成功率。

因此,在对数据挖掘结果进行评价时,可以考虑这样几个方面的问题:

  • 第一,建立模型相同的数据集在模型上进行操作所获得的结果要优于用不同数据集在模型上的操作结果;
  • 第二,模型的某些结果可能比其他预测结果更加准确;
  • 第三,由于模型是以样板数据为基础建立的,因此,实际结果往往会比建模时的结果差。
  • 另外,利用可视化技术可将数据挖掘结果表现得更清楚,更有利于对数据挖掘的结果分析。

6)知识应用

数据挖掘的结果经过业务决策人员的认可,才能实际利用。要将通过数据挖掘得出的预测模式和各个领域的专家知识结合在一起,构成一个可供不同类型的人使用的应用程序。也只有通过对挖掘知识的应用,才能对数据挖掘的成果做出正确的评价。但是,在应用数据挖掘的成果时,决策人员关心的是数据挖掘的最终结果与用其他候选结果在实际应用中的差距。

数据挖掘技术可以让现有的软件和硬件更加自动化,并且可以在升级的或者新开发的平台上执行。当数据挖掘工具运行于高性能的并行处理系统上的时候,它能在数分钟内分析一个超大型的数据库。这种更快的处理速度意味着用户有更多的机会来分析数据,让分析的结果更加准确可靠,并且易于理解。数据库可以由此拓展深度和广度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637946.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode刷题笔记第2769题:找到最大的可达成数字

LeetCode刷题笔记第2769题:找到最大的可达成数字 题目: 想法: 从题目中可以看出,num经过t次增减变为x,x即为可达成数字。因为要求最大的可达成数字,需要满足num一直增加,x一直减少&#xff0c…

第七节:带你全面理解vue3: 其他响应式进阶API

前言: 针对vue3官网中, 响应式:进阶API 中, 我们在上一章中给大家讲解了shallowRef, shallowReactive, shallowReadonly几个API的使用. 本章主要对剩下的API 进行讲解, 我们先看一下官网中进阶API 都有那些 对于剩下这些API, 你需要了解他们创建目的, 是为了解决之前的API存在…

C语言/数据结构——每日一题(设计循环队列)

一.前言 上一次我们分享了关于队列的基本实现——https://blog.csdn.net/yiqingaa/article/details/139033067?spm1001.2014.3001.5502 现在我们将使用队列知识来解决问题——设计循环队列:https://leetcode.cn/problems/design-circular-queue/submissions/533299…

振弦式渗压计的维护和校准:确保数据准确性的关键步骤

振弦式渗压计是一种用于测量土壤和岩石中孔隙水压力的高精度仪器。它广泛应用于土木工程、水利工程、地质灾害监测等领域,准确性直接影响到工程安全和监测数据的可靠性。因此,对振弦式渗压计进行适当的维护和校准是至关重要的。本文将探讨振弦式渗压计的…

2024-5-6-从0到1手写配置中心Config之实现配置中心客户端

配置加载原理 在Spring中PropertySource类实现了所有属性的实例化。 启动赋值: 定义自定义属性配置源,从config-server获取全局属性;Spring启动时,插入自定义属性配置源;绑定属性会优先使用,给自定义属性…

tomcat jdbc连接池的默认配置配置方案

MySQL 5.0 以后针对超长时间数据库连接做了一个处理,即一个数据库连接在无任何操作情况下过了 8 个小时后(MySQL 服务器默认的超时时间是 8 小时),MySQL 会自动把这个连接关闭。在数据库连接池中的 connections 如果空闲超过 8 小时,MySQL 将…

python期末作业:批量爬取站长之家的网站排行榜数据并保存,数据分析可视化

爬虫作业,含python爬取数据和保存文件,数据分析使用pyecharts做数据可视化 整体上分析网站的排名,直观看各个网站的热度。 数据分析之后大致的效果: 整个项目分为两个大的部分,第一部分就是抓取网站排名数据,然后保存为Excel、csv等格式,其次就是从文件中…

Advanced Installer 使用教程-自定义操作(下)

1、点击左侧“必要条件”,选择“运行环境” 2、这个运行环境用于设置安装前、中、后,各个阶段的自定义操作 3、安装过程中的自定义操作 1)右击基本特征,选择新建程序包先决条件,在弹出的对话框中选择自己的EXE任务程…

Live800:客户为王,企业竞争的新趋势与核心要素!

在企业经营管理中,客户始终是最重要的资源和战略。从企业经营的角度来说,企业管理的核心是客户管理,客户管理的核心是价值创造和价值分配,这是企业经营的基础。这里主要讨论了企业竞争的新趋势与核心要素,认为客户为王…

营收净利双降、股东减持,大降价也救不了良品铺子

号称“高端零食第一股”的良品铺子(603719.SH),正遭遇部分股东的“用脚投票”。 5月17日晚间,良品铺子连发两份减持公告,其控股股东宁波汉意创业投资合伙企业、持股5%以上股东达永有限公司,两者均计划减持。 其中,宁…

【minio】minio文件访问不到问题记录

问题描述: 项目上上传了logo,但是无法回写logo,但是文件minio路径已经返回,并且到minio服务器上也能下载文件; 解决方案: 1.排查Nginx的代理的minio是否正确 2.登录minio服务查一下文件路径policy是否设置访…

国内大模型价格战全面爆发:新旧势力逐鹿江湖【附主流模型价格对比】

近年来,随着人工智能技术的不断发展,大模型逐渐成为行业的焦点。然而,伴随而来的却是一场价格战。DeepSeek率先推出超低价服务,随后字节跳动、阿里巴巴、百度、科大讯飞、腾讯等巨头纷纷跟进,使得这一领域的竞争愈演愈…

研发机构大数据迁移如何保障敏感数据不泄露

随着云计算和大数据技术的飞速进步,越来越多的企业正试图通过数据迁移来提升IT基础设施的效率,减少成本,并增强业务的灵活性。但是,这一过程并非没有它的挑战,尤其是在数据安全方面。数据在转移过程中可能会遭遇黑客攻…

Python使用thread模块实现多线程

介绍: 线程(Threads)是操作系统提供的一种轻量级的执行单元,可以在一个进程内并发执行多个任务。每个线程都有自己的执行上下文,包括栈、寄存器和程序计数器。 在Python中,可以使用threading模块创建和管理…

设计模式5——抽象工厂模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 抽象工厂模式(Abst…

Docker+nginx部署SpringBoot+vue前后端分离项目(保姆及入门指南)

前后分离项目部署 项目回顾工具上线准备1、win1.1、前端1.2、后端 2、linux环境2.1、安装docker2.2、安装docker compose2.3、编写Dockerfile文件2.4、编写docker-compose.yml文件2.5、修改application-pro.yml2.6、准备好nginx的挂载目录和配置2.7、部署后端服务 项目回顾 书…

Pod容器资源限制和探针

目录 一、资源限制 1.Pod和容器的资源请求和限制 2.CPU 资源单位 案例一 案例二 二、健康检查,又称为探针(Probe) 1.探针的三种规则 2.Probe支持三种检查方法 3.探测获得的三种结果 案例一:exec 案例二:htt…

C语言/数据结构——每日一题(有效的括号)

一.前言 如果想要使用C语言来解决这道题——有效的括号:https://leetcode.cn/problems/valid-parentheses/description/我们必须要借用上一篇我们所讲的内容——栈的实现:https://blog.csdn.net/yiqingaa/article/details/138923750?spm1001.2014.3001.…

LLM实战:当网页爬虫集成gpt3.5

1. 背景 最近本qiang~关注了一个开源项目Scrapegraph-ai,是关于网页爬虫结合LLM的项目,所以想一探究竟,毕竟当下及未来,LLM终将替代以往的方方面面。 这篇文章主要介绍下该项目,并基于此项目实现一个demo页面&#x…

【linux】深入了解线程池:基本概念与代码实例(C++)

文章目录 1. 前言1.1 概念1.2 应用场景1.3 线程池的种类1.4 线程池的通常组成 2. 代码示例2.1 log.hpp2.2 lockGuard.hpp① pthread_mutex_t 2.3 Task.hpp2.4 thread.hpp2.5 threadPool.hpp① 基本框架② 成员变量③ 构造函数④ 其余功能函数: main.cc结果演示 完整…