数据预处理


数据挖掘中主要用于数据预处理的方法有以下几种:

1. 聚集(Aggregation)

2. 抽样(Sampling)

3. 维归约(DimensionalityReduction)

4. 特征子集选择(Feature subset selection)

5. 特征创建(Feature creation)

6. 离散化(Discretization)和二元化(Binarization)

7. 属性变换

练习时测试用的测试数据集可以在【Repository>>Samples>>data】中获取示例数据集;


聚集(Aggregation)

聚集是指将两个或多个对象合并成单个对象;

聚集的目的

– 减少数据

·      减少属性或数据对象的个数

·      节省数据挖掘算法的运行时间和空间

– 尺度提升

·      城市聚集成区域、省、国家,等等

·      产生新的模式

– 更“稳定”的数据

·      聚集的数据会有较小的变异性

·      突出数据的趋势和轨迹

聚集方法在Rapidminer中的实现:

Rapidminer中聚集对应的算子是 【Aggregate

>>基本流程


 >>参数面板


抽样(Sampling)

抽样是指选择数据对象子集,抽取的对象称作样本

抽样的目的

降低数据处理的费用和时间;

随机抽样方式

·      无放回抽样:被选中的对象从待选对象集中删除;

·      有放回抽样:被选中的项不从待选对象集中删除,相同的对象可能被多次抽出;

随机抽样方法

·      简单随机抽样:选取任何对象的概率相等;

·      分层抽样:划分待选对象集为多个子集,分别从各个子集随机抽样(一般根据类标号划分子集),有以下2种方式:

- 每组大小不同,但从每组抽取的对象个数相同;

- 抽取的对象个数正比于组的大小;

抽样方法在Rapidminer中的实现

1)简单随机抽样(不放回) -> 【Sample】

>>基本流程


>>参数面板

 几个Sample可选的区别:

absolute:按照指定样本容量进行抽样;
relative:按照指定样本抽取的比例进行抽取;
probablity:按照指定抽取比例,抽取接近该比例的样本,可以通过更改随机种子来修改这个随机值;

2)简单随机抽样(放回)-> 【Sample(Bootstrapping)】

这种抽样方法主要用于扩充样本容量,设置的抽取数量可以大于原数据集容量

>>基本流程

>>参数面板

 

3)随机分层抽样 -> 【Sample(Stratified)】


维归约(DimensionalityReduction)

维归约是指降低数据的维度,即减少数据属性的个数

维归约的目的

·      避免维灾难 (curse of dimensionality);

·      降低数据挖掘算法的时间和内存需求;

·      使数据更容易可视化;

·      可以删除不相关的属性并降低噪声;

维归约的常用方法——主成份分析(PCA)

目标是找出新的属性(主成分)

– 原属性的线性组合

– 相互正交

– 捕获数据的最大变差

在Rapidminer中的实现

主成分分析PCA -> 【Principal Component Analysis】

>>基本流程

>>参数面板

dimensionality reduction 降维参数的几个可选值(主要用于删除异常点):

none:保持原来的数据集规模;

keep_variance:删除原数据集中积累方差大于指定的阈值的记录;

fixed_number:输出的结果集保持在指定的数据容量;


特征子集选择(Feature subset selection)

特征子集选择是指选择一部分属性实施数据挖掘任务;

特征子集选择的目的

消除冗余特征和不相关特征

·      冗余特征

– 重复了包含在一个或多个其他属性中的许多信息

– 例子:产品的购买价格和所支付的销售税额

·      不相关特征

– 仅含有对于当前数据挖掘任务几乎无用的信息

– 例子:学生的ID号码对于预测学生的总平均成绩是不相关的

特征选择的常见方式和方法

1)嵌入方式  – 特征选择作为数据挖掘算法的一部分自然地出现(如构造决策树的算法)

2)过滤方式  – 在数据挖掘算法运行前进行特征选择

3)包装方式

• 穷举方法  – 尝试所有可能的特征子集,然后选取产生最好结果的子集

• 前向/后向选择方法

– 前:从空集开始逐步添加特征,选取产生最好结果的子集

– 后:从全集开始逐步删除特征,选取产生最好结果的子集

※一般使用包装方法时,不会使用穷尽方法,而是使用向前/向后选择方法;

在Rapidminner中的实现

1)手动设置特征选择参数 -> 【Select Attributes】

>>基本流程


 >>参数面板

 常用的attribute filter type:

subset:选择属性子集;

regular_expression:对所有属性使用正则表达式过滤(主要用于字符串特征处理);

numeric_value_filter:对所有numeric类型数据使用指定规则进行过滤(主要用于序数、区间、比率类型进行处理);

value_type:对所有子集进行数据类型过滤;

2)向前/向后选择方法 -> 【Optimize Select】

>>基本流程

3)穷举方法 ->【Optimize Select(Brute Force)】

方式基本同向前/向后选择方法;


特征创(Feature creation)

特征创建是指由原来的属性创建新的属性集
特征创建的目的
– 更有效地捕获数据集中的重要信息
– 消除噪声的影响
– 新属性个数比原来的属性个数少,可以取得降维的所有好处
三种创建新属性的方法
– 特征提取:依赖于特定领域,比如人脸识别
– 映射数据到新空间:如傅立叶变换(Fourier transform)
– 特征构造:如密度=质量/体积
在Rapidminer中的实现
创建新的特征属性:【Generate Attribute】
傅里叶变换:【Fourier transition】

离散化(Discretization)和二元化(Binarization)

离散化是指将连续属性转变成离散属性
离散化目的

– 使数据能运用于不能处理连续属性的数据挖掘算法(主要目的)
– 降低离群点/异常点的影响
二元化
– 离散化的一种特例
– 将连续属性转变成二元属性
离散化方法
①监督(supervised)方法 ——使用类标
– 基于熵(entropy)的方法:找产生最小总熵的分界点
– 熵(物理):事物内部元素分布的均匀程度;元素分布越均匀,熵越高
– 熵(信息):数值区间内类分布的均匀程度;类分布越均匀,熵越高
– 总熵是分区熵的加权平均
②非监督(unsupervised)方法——不使用类标
等宽离散化
等频离散化 :在K均值离散化不起作用时使用;
K均值离散化 :一般使用;

在Rapidminer中的实现

离散化监督方法:【Discretive by Entropy】
等宽离散化:【DIscretive by Binning】
等频离散化:【Discretive by Frequency】

属性/变量变换
• 变量变换是指变换变量的所有取值
– 简单函数: xk, log(x), ex, |x|
– 标准化或规范化
• 例子:将一个变量标准化成一个具有均值0和标准差1的新变 x’=(x-mean(x))/std(x)
变量变换的目的
– 将数据转换成特定分布(如正态分布)的数据
– 压缩数据
– 相似度/相异度计算时统一属性的尺度
在Rapidminer中的实现
属性变换:【Normailze】
常用method参数列表:
z-transformation  标准化转换
range transformation   值域转化(常用于压缩属性);

数据预处理及相应的Rapidminer操作相关推荐

  1. 用Python制作一个数据预处理小工具,多种操作,一键完成,非常实用!

    在我们平常使用Python进行数据处理与分析时,在import完一大堆库之后,就是对数据进行预览,查看数据是否出现了缺失值.重复值等异常情况,并进行处理. 本文将结合GUI工具PySimpleGUI, ...

  2. 谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程

    在实际的机器学习开发中,开发者通常需要对数据集进行大量的耗时费力的预处理过程,以适应各种不同标准的机器学习模型(例如神经网络).这些预处理过程根据待解问题的不同和原始数据的组织形式而各不相同,包括不同 ...

  3. “前程无忧”招聘数据预处理——(2)

    毕业设计第二弹 -- "前程无忧"招聘结构化数据预处理 操作系统: Win 10 操作环境: Jupyter Notebook (Anaconda) 存储路径: 电脑D盘,csv格 ...

  4. 手把手教你EEG脑电数据预处理-操作篇

    目录 导入数据 对数据进行初步认识 电极定位 移除无用电极 重参考 重采样 滤波 分段和基线校正 插值坏导 ICA 剔除ICA成分 剔除坏段 目视检查法 保存数据 本分享为脑机学习者Rose整理发表于 ...

  5. 04 数据操作 + 数据预处理【动手学深度学习v2】

    数据操作 宽是列的个数 4维是n个3维数组放一起 比如每次读128张图片 5维 视频 有时间维度 [1:3,1:] 1:3--拿1,2行,左闭右开 1:--拿1到所有列 [::3,::2] ::所有行 ...

  6. 【Pytorch神经网络基础理论篇】 03 数据操作 + 数据预处理

    1.数组样例 2.数据操作(代码实现与结果截图) #首先导入torch,虽然被称为pytorch,但是我们应该导入torch而不是pytorch import torch #张量表示一个数值组成的数组 ...

  7. Map排序,获取map的第一值,根据value取key等操作(数据预处理)

    这里为了以后自己再做数据预处理使用,做一下笔记. package deal;import java.io.File; import java.util.ArrayList; import java.u ...

  8. 大数据分析必须要会的数据预处理操作(二)!!!

    数学建模美赛大数据题必须要会的数据预处理操作(二)!!! 文章目录 数学建模美赛大数据题必须要会的数据预处理操作(二)!!! 创建DataFrame 数据显示限制 Series操作 创建Series ...

  9. 大数据分析必须要会的数据预处理操作(一)!!!

    数学建模美赛大数据题必须要会的数据预处理操作(一)!!! 文章目录 数学建模美赛大数据题必须要会的数据预处理操作(一)!!! pandas基础函数 读取并查看 DataFrame结构 info() 返 ...

最新文章

  1. mingw控制台中文乱码
  2. Windows Phone 7 程序菜单栏ApplicationBar
  3. 可被三整除的最大和—leetcode1262
  4. Vue2 的学习经历 初识
  5. java利用intellij进行类型推断
  6. tostring 16进制_ToString:身份哈希码的十六进制表示形式
  7. oracle课程设计摘要,Oracle程序设计课程设计概要(doc 35页)
  8. mysql 单机双实列_{ mysql } MySQL单机多实例及主从复制
  9. 存储器是计算机的记忆装置,存储器(Memory)
  10. python3编译器不同版本差别大吗_python3.9的转义符使用和其他版本不一样吗?
  11. 7-1 近似求PI (15 分)
  12. 父类子类的创建对象和实例化
  13. 解决办法:debian中没有ifconfig命令
  14. (一)Protobuf的Java使用
  15. Mysql根据日志恢复数据
  16. EMOS邮件系统安装(光盘安装版)
  17. 图像处理:根据像素坐标及像素尺寸大小裁剪遥感影像
  18. 扎实干货!PP-Tracking:百度提出实时目标跟踪系统(附源码教程)
  19. 世界上最大的计算机硬盘,全球最大机械硬盘:8碟12TB、充氦封装
  20. lending club 贷款逾期分析

热门文章

  1. java代码生成密钥
  2. 如何利用Python画图
  3. 基于vue实现word 在线预览
  4. mysql 定时备份
  5. 世界各国人口相关指标(总人口、城镇/乡村人口及增长率、城镇化率、人口密度、男性/女性人口及增长率)1960-2021
  6. 申宝投资-三大指数同步反攻
  7. springboot+vue+element+七牛云+实现图片上传功能
  8. FPGA简易计算器 + 工程源码
  9. REDHAT7 安装NTP服务
  10. 有限元基础及ANSYS应用 - 第3节 - 平面桁架结构有限元分析 - PPT