第四篇:数据预处理(一) - 缺失值处理

前言

在对数据有了大致的了解以后,就需要对获取到的数据进行一个预处理了。预处理的过程并不简单,大致来说分成缺失值处理,异常值处理,数据归约等等 (可根据实际情况对这些阶段进行科学的取舍)。

下面将对这几个阶段一个个讲解。(本文中测试数据集nhanes2来自包lattice)

缺失值处理

1. 首先要了解到数据集的缺失情况。

下面两行命令分别获取到缺失的字段数和完整样本数:

显然缺失字段个数为27,完整样本数为13。

2. 使用mice包的md.pattern函数来获取具体的缺失情况:

第一行第一列表示完整样本数(缺失/非缺失字段描述参考2-4列,1表示没缺失,0表示缺失);最后一列表示该种描述中缺失的字段数。
       第二行至第五行情况类似。
       最后一行中,2-4列表示对应的字段缺失数,最后一列表示总的字段缺失数。

3. 缺失值的处理:

a) 删除法

b) 插补法(均值插补为例)

上述代码首先将数据分为有缺失字段样本集和无缺失字段样本集,然后将有缺失字段的样本集的第四个字段进行均值补全。其他字段的补全同理。

小结

R语言中提供的缺失值处理方案远不止于此。

在何种条件下选择何种插补策略是个很有挑战的问题,本文不展开探讨。

时间: 2024-12-11 21:25:24

第四篇:数据预处理(一) - 缺失值处理的相关文章

数据预处理之缺失值的处理

缺失值的类型 首先对数据的变量(特征)按照缺失和不缺失进行分类:不含有缺失值的变量称为完全变量,含有缺失值的变量称为非完全变量. 缺失值的类型分为三种:完全随机缺失,随机缺失和非随机缺失. 完全随机缺失: 缺失的变量和其余的变量没有关系.比如"家庭住址"这个信息,和"身高"等其余的变量没有关系. 随机缺失: 缺失的变量和完全变量存在一定的关系.假如"学历"中不含缺失值,"收入"和它有关,那么"收入"为随机缺

第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)

前言 这部分也许是数据预处理最为关键的一个阶段. 如何对数据降维是一个很有挑战,很有深度的话题,很多理论书本均有详细深入的讲解分析. 本文仅介绍主成分分析法(PCA)和探索性因子分析法(EFA),并给出具体的实现步骤. 主成分分析法 - PCA 主成分分析(principal components analysis, PCA)是一种分析.简化数据集的技术. 它把原始数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次

第四章: 数据预处理【待补充】

4.1 数据清洗: 删除原始数据集中的无关数据.重复数据.平滑噪声数据,筛选掉与挖掘无关的数据,处理缺失值.异常值 缺失值处理(删除记录.数据插补.不处理) 常见的插补方法:均值/中位数/众数 插补:使用固定值:最近邻插补:回归方法:插值法 拉格朗日插值法,牛顿插值法 2.  异常值处理(删除含有异常值的记录.视为缺失值.平均值修正.不处理) 缺点:观测值少,删除的方法not suitable.(方法的优劣性评价尺度:样本数量少) 在正常情况下,要先分析异常值出现的可能原因,再判断异常值是否应该

解剖SQLSERVER 第四篇 OrcaMDF里对dates类型数据的解析(译)

解剖SQLSERVER 第四篇  OrcaMDF里对dates类型数据的解析(译) http://improve.dk/parsing-dates-in-orcamdf/ 在SQLSERVER里面有几种不同的date相关类型,当前OrcaMDF 支持三种最常用的date类型:date,datetime,smalldatetime SqlDate实现 date 类型在三种类型之中是最简单的,他是一个3个字节的定长类型,存储了日期值它支持的日期范围从0001-01-01到9999-12-31 默认值

mysql第四篇:数据操作之多表查询

mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname VARCHAR(50) not null COMMENT '部门名称' )ENGINE=INNODB DEFAULT charset utf8; #添加部门数据 INSERT INTO `dept` VALUES ('1', '教学部'); INSERT INT

[Scikit-Learn] - 数据预处理 - 缺失值(Missing Value)处理

reference : http://www.cnblogs.com/chaosimple/p/4153158.html 关于缺失值(missing value)的处理 在sklearn的preprocessing包中包含了对数据集中缺失值的处理,主要是应用Imputer类进行处理. 首先需要说明的是,numpy的数组中可以使用np.nan/np.NaN(Not A Number)来代替缺失值,对于数组中是否存在nan可以使用np.isnan()来判定. 使用type(np.nan)或者type

数据预处理(完整步骤)

原文:http://dataunion.org/5009.html 一:为什么要预处理数据?(1)现实世界的数据是肮脏的(不完整,含噪声,不一致)(2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据:数据仓库需要对高质量的数据进行一致地集成)(3)原始数据中存在的问题:不一致 —— 数据内含出现不一致情况重复不完整 —— 感兴趣的属性没有含噪声 —— 数据中存在着错误.或异常(偏离期望值)的数据高维度二:数据预处理的方法(1)数据清洗 —— 去噪声和无关数据(2)数

数据预处理(数据的操作2)

2.常用数据预处理方法 这个部分总结的是在Python中常见的数据预处理方法. 2.1标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计算方式是将特征值减去均值,除以标准差. sklearn.preprocessing.scale(X) 一般会把train和test集放在一起做标准化,或者在train集上做标准化后,用同样的标准化去标准化test集,此时

数据挖掘——(二)数据预处理

数据预处理 1. 数据质量的三个要素:准确性.完整性.一致性 2. 数据预处理的主要任务: 数据清理.数据集成.数据归约.数据变换 一. 数据清理 数据清理主要:填补缺失的值,光滑噪声同时识别离群点,并纠正数据的不一致性. 通常是一个两步的迭代过程,包括偏差检测和数据变换 注意:在某些情况下,缺失值并不意味着数据有误.在理想情况下,每个属性应当有一个或多个关于控制条件的规则.这些规则可以说明是否允许空值,并且/或者说明这样的空值应当如何处理或转换. 二. 数据集成 数据集成将来自多个数据源的数据