发现知识和数据挖掘

数据到知识过程

1. 数据选择

● 选择与给定任务相关的数据

2. 数据预处理

● 处理缺失的数据

● 删除重复项

● 特征选择

● 归一化

● ...

3. 数据转换

● 将数据转换为合适的表示形式

4. 数据挖掘

● 聚类

● 分类

● 回归

● 关联

● 相关性

● ...

5.数据后续处理

● 可视化

● 解释

● 理解

● ...

什么使得模式有用或有意义?

主要目标:泛化性

■ 模式应对未见过的数据保持准确

■ 泛化性可能因为数据量小和/或数据有偏见而受到影响。

** 模式表示相关性,但相关性并不意味着因果关系。

寻找"可疑"的模式 - 现实检查

高冰淇淋销售额,鲨鱼攻击次数越多。 但这并不意味着两者之间有直接关系。

更可能的解释是存在一个混淆变量:天气,特别是温度。

常见的数据挖掘任务方法

1. 关联规则

● 输入:事务数据

    ■ 事务:带有一组项目的数据记录

    ■ 项目集合来自固定的集合

● 模式:关联规则

    ■ 基于其他项目的出现预测项目的出现

2. 聚类

● 输入:数据和数据点之间的明确定义的相似性

● 模式:簇

    ■ 相似的数据点的组(与其他数据点比较)

    ■ 最大化簇内 (intra-cluster) 相似性

    ■ 最小化簇间 (inter-cluster) 相似性

3. 分类

● 输入:带有多个属性的数据集

● 模式:作为其他属性值的函数的属性的分类值

     ■ K最近邻、决策树、线性分类等

4. 回归

● 输入:带有多个属性的数据集

● 模式:作为其他属性值的函数的属性的数值

5. 图挖掘

● 输入:G = (V, E)

    ■ 顶点(或节点)V的集合(数据点)

    ■ 边E的集合(数据点之间的关系)

● 模式:基于图结构的模式

5. 推荐系统

● 输入:用户评价的项目(例如,观众评价的电影)

    ■ Alice如何评价餐厅"KFC"?

    ■ "KFC"应该推荐给Alice吗?

● 基于相似性预测缺失值的模式

    ■ 利用项目的特性

    ■ 利用用户或项目之间的相似性

数据属性类型

1. 类别:

● 标称 (Nominal) : 标签

■ 运算: =, ≠

■ 例如:车辆类型(轿车/卡车),发型,国籍

● 序数 (Ordinal) : 有意义的顺序标签

■ 运算:=, ≠, <, >

■ 例如:等级(低/中/高),顾客满意度(不满意/中等/非常满意)

2. 数字:

● 区间 (Interval) : 有意义的距离测量

■ 运算: =, ≠, <, >, +, -

■ 例如:以摄氏度为单位的外部温度,电影发布日期

● 比率 (Ratio) : 有意义的比率测量

■ 运算:=, ≠, <, >, +, -, *, /

■ 例如:距离,产品价格,水的体积,存款金额

数据类型

1. 结构化数据

● 高度组织:遵循预定义的数据模型

● 每个对象都有相同的固定属性集

● 容易搜索、汇总、操作、分析数据

● 例如:财务系统、在线订单系统

2. 半结构化数据

● 没有严格的数据模型:结构化和非结构化数据的混合

● 数据交换格式:XML,JSON,CSV

● 带标签的非结构化数据(例如,音乐文件 + 艺术家,歌曲标题,发行日期,流派等)

3. 非结构化数据

● 没有固定的数据模型

● 需要更高级的数据分析技术

● 例如:电子书,卫星图像,播客,微博内容

数据表示类型 

1. 记录数据

这种数据类型主要是由数据记录组成,如表格或数据库中的行。它是最常见的数据表示形式,每个记录都有固定的属性或字段。例如,一个学生的记录可能包括其姓名、学号、年级和专业。

2. 图数据

图数据是由顶点和边组成的结构数据。在这种表示中,顶点可以代表实体,边则表示实体之间的关系。社交网络是图数据的一个常见例子,其中个人是顶点,他们之间的友谊关系则是边。

3. 有序数据

有序数据考虑到数据之间的顺序或时间关系。例如,时间序列数据、视频和音频流就是这种类型的数据。这种数据类型特别关心元素之间的时间间隔或序列。

数据质量

1. 噪声 (Noise)

● 数据 = 真实信号 + 噪声

    ■ 由过期软件导致的计算错误(也可能是固有噪声或外部影响)

    ■ 在电子表格中手动输入数据时的键入错误(由人或机器造成)

    ■ 数据下载过程中的丢包

    ■ 数据格式中的不一致性(例如,24小时制与12小时制,DD/MM/YY与YYYY/MM/DD)

    ■ 数据单位中的不一致性(例如,公斤与磅)

2. 异常值 (Outliers)

● 异常值:属性值与其他点明显不同的数据点

● 情况1: 异常值为噪声

    ■ 例如,在股票市场数据中由于数据输入错误而突然出现的巨大跳跃。

    ■ 尝试去除异常值和/或使用不易受异常值影响的方法。

● 情况2: 异常值为目标值 (目的是找到稀有/奇异/异常的数据点)

    ■ 例如,医学研究中寻找罕见疾病的病例。

    ■ 例如,网络流量分析中寻找罕见的大流量事件。

3. 缺失值 (Missing Values)

● 常见原因:

    ■ 在线调查中的可选问题被忽略。

    ■ 设备断电或断网,导致数据未能记录。

    ■ 在适用于成年人的调查中,未有关于学校的问题(因为它不适用)。

● 处理缺失值:

    ■ 删除有缺失值的数据点。

    ■ 删除有缺失值的属性(并不是所有的属性都同样重要)。

    ■ 尝试填充缺失值(例如,使用附近城市的平均降雨量)。

4. 重复值 (Dupliactes)

● 重复值:指代同一对象/实体的数据点(例如,两个联系人记录指代同一个人)。

    ■ 完全重复:数据点的属性值相同。

    ■ 近似重复:数据点的属性值(稍微)有所不同(例如,同一个人的名字拼写略有不同,如Jon与John)。

● 任务:消除重复值。

    ■ 对于完全重复值相对容易。

    ■ 对于近似重复值可能需要使用更复杂的数据清理技术。

探索性数据分析 (EDA)

● EDA — 了解你的数据(通过基本转换和可视化)

    ■ 评估数据质量

    ■ 基本合理性检查

    ■ 获取数据的初步见解

    ■ 提出新的问题

** 没有固定流程和严格规定!

EDA — 识别噪声

● 使用直方图检查数据值的分布。

EDA — 识别噪声/异常值

● 使用箱线图检查属性值的分布

   ■ 明确表示异常值

注意:并不是所有的异常值都是“不好的”或被视为噪声。例如,CEO的薪水通常比普通员工的薪水高得多。是否应该移除它取决于分析的目标。

EDA — 识别噪声/异常值

● 使用散点图检查相关性

   ■ 在实践中并不总是可行的

   ■ 需要对数据有深入的了解。

EDA — 缺失值

● 例如:如果人们没有公开体重,则默认值为(0)

   ■ 这已经可能对简单的分析产生负面影响,例如计算均值/平均值。

EDA — 属性类型

看起来是数值型,但实际上是分类型(有序的) (1: 正常, 2: 高于正常, 3: 远高于正常)

● 通常是数据集文档的一部分

● 解释需要对数据有深入的了解 ➜ 对于自动化方法通常是不可能的。

EDA — 类标签的分布

● 分类任务通常从平衡的数据集中受益

   ■ 平衡 = 所有类别(几乎)均等地被表示

   ■ 类的分布也会影响找到的模式的评估。

EDA — 可视化高维数据

● 使用降维技术进行可视化(此处:t-SNE)

● MNIST 数据集

   ■ 60k手写数字 0, 1, 2, …, 9 (每个类约6k样本)

   ■ 28×28 像素 ➜ 784 特征 (整数灰度值 0..255)

EDA — 非结构化数据(仅为一些直觉)

● 纯文本

   ■ 语言,(大小的)词汇

   ■ 正式与非正式文本(例如,带有俚语、表情符号、表情的社交媒体内容)

● 图片/视频

   ■ 尺寸和分辨率

   ■ 色彩空间

● 音频

   ■ 采样率和频率范围

   ■ 录音类型(例如,语音与音乐)

数据预处理

● 主要目的

   ■提高数据质量("输入垃圾,输出垃圾!")

   ■为数据挖掘算法生成有效输入

   ■从数据中移除复杂性以简化分析

● 核心预处理任务

   ■数据清洗

   ■数据减少

   ■数据转换

   ■数据离散化

数据清洗

● 提高数据质量

   ■ 删除或填充缺失的值

   ■ 识别并移除异常值 (如果异常值不是分析的目标)

   ■ 识别并移除/合并重复项

   ■ 纠正错误和不一致性 (例如,将英寸转换为厘米)

非琐碎的任务,通常非常特定于应用。

数据减少

● 减少数据点的数量

   ■ 抽样 — 选择数据点的子集(通常是随机或分层抽样)

   ■ 通常用于初步分析或当数据大小极大时

● 减少属性的数量

   ■ 移除不相关的属性(例如,id或在伦理上有问题的属性,如宗教、性取向等)

   ■ 降维 — 将数据映射到低维空间(PCA、LDA、t-SNE等)

● 减少属性值的数量(去噪的一种形式)

   ■ 聚合或泛化

   ■ 带平滑的分箱处理。

减少属性值数量

● 聚合

   ■ 在数值属性的概念层次中上移 (例如,从天到年)

   ■ 对分类属性进行泛化

● 分箱和平滑

   ■ 按属性值排序(例如,高度)

   ■ 将数据分成等大小的箱子

   ■ 用箱子的平均值替换每个值 (在这个例子中,平均值也被四舍五入)

数据转换

● 一些数据减少技术也会转换数据

   ■ 降维、聚合/泛化、分箱等。

● 属性构造

   ■ 添加或替换从现有属性推断出的属性

   ■ 例如:重量、体积 ➜ 密度

● 标准化

   ■ 将属性值缩放到指定范围内的值(例如,[0,1])

   ■ 标准化:使用均值和标准差进行缩放。

数据离散化

● 将连续属性转换为有序属性

   ■ 有些算法只接受分类属性

   ■ 将回归任务转换为分类任务

● 示例:将体重转换为体重类别

   ■ 许多现有的离散化方法

   ■ 这里:使用3个用户定义的箱子进行离散化。

独热编码

● 将分类属性转换为数值属性

   ■ 将分类属性转换为一系列的二进制属性 0/1

   ■ 允许在分类属性上应用任何针对数值特征的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值