郭震 AI公众号:郭震AI

13 数据清洗与准备

发布日期:

最近更新:

分类: 深度学习小白

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点8 个
图文要点6 张
正文规模1.1k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 8 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

数据清洗与准备结构图查看大图
数据清洗与准备结构图

深度学习很依赖数据质量。脏数据、错标签、训练测试泄漏都会让模型看起来不错,实际使用却很差。数据清洗不是杂活,而是建模的地基。

数据质量决定上限核对图查看大图
数据质量决定上限核对图

训练前抽样查看数据,尤其要看错误样本和边界样本。只看统计表,很容易错过真实问题。

在深度学习的过程中,数据是模型性能的基石。为了让我们的模型能够更加准确地学习到数据中的模式,进行有效的数据预处理是至关重要的一步。本篇将介绍深度学习中的数据清洗与准备,帮助你为接下来的特征工程做好铺垫。

数据清洗的重要性

在实际应用中,我们常常会遇到“脏数据”。这类数据可能包含了重复的记录、缺失的值、异常值等问题。例如,在处理用户行为数据时,一个用户可能在系统中多次注册,造成重复记录。这样的数据不仅会消耗模型的学习能力,还可能导致模型的误导性预测。

常见的数据清洗步骤

以下是一些常见的数据清洗步骤:

  1. 删除重复数据
  2. 处理缺失值
  3. 处理异常值
  4. 标准化数据格式
  5. 数据类型转换

接下来,我们将通过代码示例来详细解释这些步骤。

1. 删除重复数据

使用pandas库,我们可以很方便地删除数据框中的重复记录。

import pandas as pd

# 创建一个示例数据框
data = {
    'user_id': [1, 2, 2, 3, 4],
    'action': ['click', 'view', 'view', 'click', 'view']
}
df = pd.DataFrame(data)

# 查看原始数据框
print("原始数据框:")
print(df)

# 删除重复记录
df_cleaned = df.drop_duplicates()

# 查看清理后的数据框
print("\n清理后的数据框:")
print(df_cleaned)

2. 处理缺失值

缺失值是数据集中常见的问题。我们可以选择删除包含缺失值的行,或者用某个统计量(例如均值、中位数)填补缺失值。

# 创建一个包含缺失值的示例数据框
data_with_nan = {
    'user_id': [1, 2, None, 4],
    'action': ['click', None, 'view', 'view']
}
df_nan = pd.DataFrame(data_with_nan)

# 查看原始数据框
print("原始数据框:")
print(df_nan)

# 使用均值填补缺失值
df_nan['user_id'] = df_nan['user_id'].fillna(df_nan['user_id'].mean())

# 删除包含缺失值的行
df_nan = df_nan.dropna()

# 查看清理后的数据框
print("\n清理后的数据框:")
print(df_nan)

3. 处理异常值

异常值通常会影响模型的性能。我们可以使用统计学的方法(如Z-score或IQR方法)来检测异常值。

深度学习数据清洗判断卡查看大图
深度学习数据清洗判断卡

准备深度学习数据时,先看重复样本、缺失字段、标签错误、类别分布、异常值和训练验证拆分。

import numpy as np

# 创建一个示例数据框
data = {
    'age': [22, 25, 29, 100, 27]
}
df_age = pd.DataFrame(data)

# 计算IQR
Q1 = df_age['age'].quantile(0.25)
Q3 = df_age['age'].quantile(0.75)
IQR = Q3 - Q1

# 定义异常值的范围
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

# 删除异常值
df_age_cleaned = df_age[(df_age['age'] >= lower_bound) & (df_age['age'] <= upper_bound)]

# 查看清理后的数据框
print("\n清理后的数据框:")
print(df_age_cleaned)

4. 标准化数据格式

对于模型训练,我们需要确保所有数据格式一致,比如日期格式。

from datetime import datetime

# 创建一个包含不同日期格式的示例数据框
data_date = {
    'date': ['2023-01-01', '01/02/2023', 'March 3, 2023']
}
df_date = pd.DataFrame(data_date)

# 将日期统一转化为datetime格式
df_date['date'] = pd.to_datetime(df_date['date'])

# 查看清理后的数据框
print("\n统一格式后的数据框:")
print(df_date)

5. 数据类型转换

确保每一列数据的类型与其内容相对应。通过pandasastype()方法,我们可以进行类型转换。

深度学习阅读地图卡查看大图
深度学习阅读地图卡

《数据清洗与准备》可以按“场景、概念、动作、结果”来读。先把这四件事对齐,再回到正文里的参数、代码或流程。

# 创建一个包含字符串数字的示例数据框
data_types = {
    'user_id': ['1', '2', '3', '4']
}
df_types = pd.DataFrame(data_types)

# 查看原始数据框类型
print("原始数据框类型:")
print(df_types.dtypes)

# 转换数据类型
df_types['user_id'] = df_types['user_id'].astype(int)

# 查看转换后的数据框类型
print("\n转换后的数据框类型:")
print(df_types.dtypes)
数据清洗与准备应用复盘卡查看大图
数据清洗与准备应用复盘卡

复习《数据清洗与准备》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

数据清洗与准备应用检查卡查看大图
数据清洗与准备应用检查卡

练习《数据清洗与准备》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

小结

以上是数据清洗与准备的几个主要步骤,通过这些步骤,能够有效地提升数据的质量,为后续的特征工程打下坚实的基础。对于处理的每一步都要特别留意,因为数据的质量直接影响到深度学习模型的表现。

在下一篇中,我们将深入探讨特征工程的相关内容,包括如何从清洗后的数据中提取出关键特征,以便更好地训练模型。请继续关注!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

数据清洗与准备适合谁读?

这是 深度学习入门 系列第 13 / 24 篇,适合正在学习深度学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇深度学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...