前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爱数科案例 | 青少年社交网络数据的清洗和预处理

爱数科案例 | 青少年社交网络数据的清洗和预处理

作者头像
数据科学人工智能
发布于 2022-03-30 09:17:38
发布于 2022-03-30 09:17:38
1.1K0
举报

本案例使用一份包含30000个样本的美国高中生社交网络信息数据集,进行了缺失值和异常值处理,并对连续变量进行标准化、离散化,对非数值离散变量进行编码。

1. 读数据表

首先,我们读取原始数据,并查看各字段基本情况。

2. 年龄缺失值填补

缺失值(missing value)是指现有数据集中某个或某些属性的值是不完全的。由于大部分机器学习模型无法处理缺失值,在数据建模前需要填补或者剔除缺失值。对于连续变量age,我们使用该列的均值进行填充,结果如下表所示。

3. 性别缺失值填补

对于离散变量gender,我们使用“未知”进行填充,结果如下表所示。

4. 异常值处理前箱线图

我们进一步用箱线图查看friends列是否存在异常值。箱线图中,小于Q_1-1.5\times IQRQ1−1.5×IQR或大于Q_3+1.5\times IQRQ3+1.5×IQR的数据点被视为异常值。

上图中绿色的数据点即为异常值,可以看到大于100左右即为异常值。

5. 异常值处理前直方图

异常值(outlier),也称为极端值,是数据集中某些数值明显偏离其余数据点的样本点。因为线性回归模型等机器学习模型对异常值较为敏感,对异常值进行处理有利于提高建模的鲁棒性。

接下来,我们用直方图查看friends列数据分布情况。

由图可知,friends变量整体呈右偏,可能存在异常值。

6. 异常值处理

通过数据筛选组件,我们可以剔除掉大于Q_3+1.5\times IQRQ3+1.5×IQR的数据点,结果如下表所示。

7. 异常值处理后箱线图

剔除异常数据后,我们通过箱线图和直方图查看friends列的数据分布情况。

从上图来看,与异常值处理前相比,friends列中数据的异常值大大减少了,实验误差也会减少很多。

8. 异常值处理后直方图

9. Z-Score标准化

数据标准化指的是将数据按比例缩放的预处理操作。当我们希望消除量纲的影响、帮助模型收敛、适应模型假设时,就可能需要进行数据标准化。

在本案例中,我们将介绍比较常用的Z-Score标准化和MinMax标准化。下面我们对数据集中friends列做Z-Score标准化,使得处理后的数据均值为0,标准差为1。

10. MinMax标准化

下面我们对数据集中friends列做Min-Max标准化,使得处理后的数据取值分布在[0,1][0,1]区间上。

11. 数字编码

一般而言,我们需要将数据集中的非数值变量编码为数值才能用于模型训练。本案例将介绍两种常用的编码方法:数字编码与OneHot编码。我们先对数据集中的gender列进行数字编码。

通过数字编码,gender的三个取值被分别编码为0、1、2。

12. OneHot编码

下面我们对数据集中的gender列进行OneHot编码。

13. 等距离散化

在一些数据建模情景下,我们可能需要将连续变量转化为离散变量,即进行离散化处理。常见的离散化方法包括等距离散化和等频离散化。

我们先对friends列进行等距离散化处理,通过这种方法离散化处理后每个区间宽度相同。

可以看到friends列中数据被等距分为4组,取值分别为0、1、2、3。

14. 等频离散化

然后我们对friends列进行等频离散化处理,通过这种方法离散化处理后落在每个区间内的数据点数量相同。

可以看到friends列中数据被等频分为4组,取值分别为0、1、2、3。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档