自学教程 学编程从这里开始

数据理解

数据理解是机器学习项目生命周期里非常关键的一环,位于业务理解之后、数据准备之前。
它的目标不是立刻清洗和改造数据,而是看懂数据:数据里面有什么、质量怎么样、变量之间有什么关系、存在哪些潜在问题,为后续的数据处理和建模提供依据。

一、数据理解主要工作内容

  1. 收集数据

    拿到原始数据集,确认数据来源、采集方式、更新频率,确认字段含义、单位、业务定义,避免字段理解错误。

  2. 查看数据集基本信息

    查看样本总量、特征数量、字段类型(数值、分类、文本等),区分自变量(特征)和因变量(标签)。

    常用查看方式:前几行数据、数据集行列数、字段类型、统计摘要。

  3. 描述性统计分析

    对数值型特征计算统计指标:平均值、中位数、最大值、最小值、标准差、四分位数。

    对分类型特征统计各类别的数量、占比,观察类别是否均衡。

  4. 检查数据质量

    重点排查三类问题:

  • 缺失值:哪些字段有空值、缺失比例多少;
  • 异常值:数值明显偏离正常范围的数据;
  • 重复数据:完全重复或者关键主键重复的样本。
  1. 探索变量关系

    通过可视化和相关性分析,观察:
  • 特征和标签是否存在相关趋势;
  • 特征之间是否高度相关(多重共线性);
  • 不同类别分组下,特征分布有没有明显差异。

二、常用工具与代码示例

使用 pandas + matplotlib 完成基础的数据理解:

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
df = pd.read_csv("data.csv")

# 1. 查看前5行
print(df.head())

# 2. 数据集形状:样本数,特征数
print("数据集形状:", df.shape)

# 3. 字段类型、缺失情况
print("\n数据信息:")
print(df.info())

# 4. 描述性统计(数值字段)
print("\n统计摘要:")
print(df.describe())

# 5. 缺失值统计
print("\n缺失值统计:")
print(df.isnull().sum())

# 6. 相关性热力图(简单查看相关)
print("\n相关系数:")
print(df.corr())

# 7. 单变量分布可视化
df.hist(figsize=(10,8))
plt.show()

三、数据理解输出成果

完成数据理解之后,一般产出一份数据洞察报告,包含:

  • 数据集概况说明;
  • 各字段含义、数据类型;
  • 缺失、异常、重复问题清单;
  • 特征分布与相关性结论;
  • 初步建议:哪些特征可用、哪些需要处理。

四、常见误区

  1. 跳过数据理解,直接开始建模。很容易因为数据隐藏问题,导致模型效果差、结果不可信;
  2. 只看统计数字,不做可视化。很多分布异常、分组差异,表格很难发现;
  3. 把所有特征直接丢进模型,不判断特征和业务目标是否相关。

小结

数据理解的核心一句话:先看懂数据,再动手建模。
这一步的价值,是提前识别风险,决定后续数据清洗、特征工程的方案。

思考题:如果一个标签字段 95% 都是同一个类别,在数据理解阶段我们应该重点关注什么?

标签:

0 条笔记