1.1为什么数据挖掘

数据:数据是记录下来可以被鉴别的符号。它是最原始的素材,未被加工解释,没有回答特定的问题,没有任何意义。
信息:信息是已经被处理、具有逻辑关系的数据,是对数据的解释,这种信息对其接收者有意义。

数据挖掘的定义

数据挖掘,通常也被称为数据知识发现(KDD),是自动或方便地提取模式,表示在大型数据库,数据仓库,Web,其他海量信息库或数据流中隐式存储或捕获的知识——Jiawei Han

1.2数据挖掘的框架

数据准备环节

CRM:客户关系管理
ERP:企业资源计划

ETL:ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层进行清洗、转换、集成,最后加载到数据仓库中,成为联机分析处理(OLAP)、数据挖掘的基础。

E抽取:从操作型数据源获取数据

  • 不可在源系统添加额外的逻辑;
  • 不能增加源系统的工作负载;

T转换:转换数据,使之转变为适用于查询和分析的形式和结构

  • 数据清洗cleansing:缺失数据、错误数据、重复数据等;
  • 数据转换:数据类型、数据粒度、商务规则等;

L加载:将转换后的数据导入到最终的目标数据仓库

  • 合理的业务模型设计:数据标准化,实现统一的编码、统一的分类和组织
  • 加载的效率

DB VS DW

DB(Database)数据库:数据库是一个按数据结构来存储和管理数据的计算机软件系统。

  • 关系型数据库:Mysql,SqlServer等
  • NoSQL数据库:MongoDB、Redis、Memcache等

DW(Data Warehouse)数据仓库:是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。

  • Teradata、Snova、Greenplum等

关系型数据库

ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

  • A:A给B转账,如B账户操作失败,则交易失败,A和B都不修改
  • C:A给B转账,无论是否操作成功,两者的账户余额之和不变
  • I:对并发访问进行控制
  • D:事务操作完成,则永久更改

非关系型数据库NoSQL

BASE约束:基本业务可用性(Basic Availability)、柔性状态(Soft state)、最终一致性(Eventual consistency)

  • BA:系统在外界看来似乎总处于可用状态,只有落在故障节点的用户请求才会感知到系统不可用
  • S:一个节点写入新数据后,不会立即更新集群其它节点,其他节点可能会读到旧数据
  • E:在一段时间后,可以保证数据最终的一致性

DB VS DW
DB VS DW
OLTPVS OLAP
OLTPVS OLAP

数据预处理

  • 数据清洗
  • 数据集成
  • 数据变换
  • 特征选择
  • 特征提取
  • 数据相似性度量
  • 数据可视化

1.3数据挖掘模型

深度学习:基于深度神经网络模型
机器学习:使用机器学习的方式达到智能
人工智能:使机器变得智能

无监督学习
基于数据本身分析其中的规律

有监督学习
在指定结果变量的情况下分析其他变量与结果变量的关系

关联规则分析(无监督)

分析变量之间的相关性

聚类(无监督)

利用向量距离分析数据的分布

分类(有监督)

分析多变量与结果变量之间的映射关系(离散)

回归(有监督)

分析多变量与结果变量之间的映射关系(连续)

1.4数据挖掘常用的工具

传统的数据挖掘套件

  • SAS Enterprise Miner 5.3
  • SPSS Clementine 12

开源数据挖掘软件

  • RapidMiner
  • KNIME
  • Weka

BI产品内置的数据挖掘软件

  • SAP NetWear 7.0 Data Mining Workbench
  • Oracle 11g Data Mining
  • Microsoft SQL Server 2019 Analysis Services

其他优秀软件

  • Teradata Warehouse Miner
  • IBM DB2 Intelligence Miner

Hadoop的核心

核心技术:

  • 分布式文件系统
  • 并行计算系统

分布式文件系统HDFS特点(Hadoop Distributed File System)

优点
处理超大文件:几百MB、几百TB的单个文件
流式的访问数据:一个数据源,多个存储节点;批量读取效率高
运行于廉价的商用机器集群上:易扩展;节点故障容错

缺点
不适合低延迟数据访问:服务于大型数据集分析;替代方案HBase
无法高效存储大量的小文件:每个小文件都分配Map任务,效率降低
不支持多用户写入及任意修改文件:一个写入者;只能追加;

运用的技术

  • 存储块
    将单个大文件切分成多个块:64MB or 128MB
  • NameNode/DataNode主从结构
    分别负责目录和文件映射结构/实际数据块存储
  • 心跳机制
    NameNode判断DataNode状态
  • 机架感知
    感知每份数据块(备份3块)的位置

用户向namenode发起文件读取的请求,namenode用心跳机制感知datanode的状态,再用机架感知感知哪个数据块离客户端最近,将信息返回客户端,客户端再发起网络请求

Last modification:March 13, 2020
如果觉得我的文章对你有用,请随意赞赏