852 字
4 分钟
【机器学习笔记】数据处理 (Google ML)

数据类型辨析#

在机器学习中,正确识别数据类型是选择处理方法的前提。

数值数据(Numerical Data)#

  • 定义:表示数量、大小或度量的连续或离散数值。
  • 特性:具有 可度量性(Measurable)和 有序性(Ordered)。
  • 运算:支持数学运算(如加减乘除),其数值大小具有实际的物理意义。
  • 示例:温度、体重、商品价格、鹿群数量。

分类数据(Categorical Data)#

  • 定义:表示某种特征的离散类别或标签。
  • 特性:通常 无序(Nominal)且 不可累加
  • 处理:机器无法直接理解文本标签,通常需要转化为数值形式,常用方法包括:
    • 整数编码(Label Encoding):用于有序类别(如:低/中/高 -> 0/1/2)。
    • 独热编码(One-Hot Encoding):用于无序类别(如:红/绿/蓝)。
  • 示例:性别、颜色、省份、犬种。
WARNING

⚠️ 易错点:数字不一定都是数值数据

美国邮政编码(ZIP Code) 虽然由数字组成(如 20002, 40004),但它们属于 分类数据

  • 理由
    1. 无数学意义:邮编 40004 并不是邮编 20002 的两倍。
    2. 仅作标识:数字在这里仅代表地理区域的 “ID” ,而非数量的大小。

处理建议:在特征工程中,应将邮政编码视为离散的类别特征进行独热编码或其他嵌入处理,而不是直接作为连续数值输入模型。


特征工程#

核心问题:直接使用原始数据(Raw Data)进行训练效果最好吗?答案:通常不是。

特征工程 是将原始数据转换为更能代表潜在问题预测模型的特征的过程。它是机器学习成功的关键要素。

我们必须将原始数据转换为 特征向量(Feature Vector)。常见的预处理技术包括:

  • 归一化(Normalization)
    • 将数值缩放到统一的范围(如 [0, 1] 或 [-1, 1])。
    • 目的:防止某些大数值特征主导梯度下降的方向,加速收敛。
  • 分箱(Binning/Bucketing)
    • 将连续数值划分为若干个离散的区间(桶)。
    • 目的:引入非线性,降低离群值的影响。例如,将 “年龄” 划分为 “青年/中年/老年” 。

延伸阅读


📚 学习资源汇总#

数据可视化#

数据可视化是理解数据分布、发现异常值的首要步骤。

数据预处理实战#

涵盖特征工程、数据清洗及 PyTorch 工程规范。

Kaggle 经典项目实战系列#

本系列博客完整记录了从数据理解到模型训练的全流程:

  1. 数据探索数据理解与整体探索
  2. 数据清洗数据清洗实战
  3. 特征变换特征转换与衍生
  4. 特征筛选特征筛选策略
  5. 模型训练模型训练与调优
  6. 工程规范PyTorch 工程规范指南

进阶阅读AI 大模型中的数据清洗与预处理技术研究

【机器学习笔记】数据处理 (Google ML)
https://xingguang641.com/posts/ml-note/data-processing/
作者
星光
发布于
2025-10-23
许可协议
CC BY-NC-SA 4.0