852 字
4 分钟
【机器学习笔记】数据处理 (Google ML)
数据类型辨析
在机器学习中,正确识别数据类型是选择处理方法的前提。
数值数据(Numerical Data)
- 定义:表示数量、大小或度量的连续或离散数值。
- 特性:具有 可度量性(Measurable)和 有序性(Ordered)。
- 运算:支持数学运算(如加减乘除),其数值大小具有实际的物理意义。
- 示例:温度、体重、商品价格、鹿群数量。
分类数据(Categorical Data)
- 定义:表示某种特征的离散类别或标签。
- 特性:通常 无序(Nominal)且 不可累加 。
- 处理:机器无法直接理解文本标签,通常需要转化为数值形式,常用方法包括:
- 整数编码(Label Encoding):用于有序类别(如:低/中/高 -> 0/1/2)。
- 独热编码(One-Hot Encoding):用于无序类别(如:红/绿/蓝)。
- 示例:性别、颜色、省份、犬种。
WARNING⚠️ 易错点:数字不一定都是数值数据
美国邮政编码(ZIP Code) 虽然由数字组成(如
20002,40004),但它们属于 分类数据 。
- 理由:
- 无数学意义:邮编
40004并不是邮编20002的两倍。- 仅作标识:数字在这里仅代表地理区域的 “ID” ,而非数量的大小。
处理建议:在特征工程中,应将邮政编码视为离散的类别特征进行独热编码或其他嵌入处理,而不是直接作为连续数值输入模型。
特征工程
核心问题:直接使用原始数据(Raw Data)进行训练效果最好吗?答案:通常不是。
特征工程 是将原始数据转换为更能代表潜在问题预测模型的特征的过程。它是机器学习成功的关键要素。
我们必须将原始数据转换为 特征向量(Feature Vector)。常见的预处理技术包括:
- 归一化(Normalization):
- 将数值缩放到统一的范围(如 [0, 1] 或 [-1, 1])。
- 目的:防止某些大数值特征主导梯度下降的方向,加速收敛。
- 分箱(Binning/Bucketing):
- 将连续数值划分为若干个离散的区间(桶)。
- 目的:引入非线性,降低离群值的影响。例如,将 “年龄” 划分为 “青年/中年/老年” 。
延伸阅读
📚 学习资源汇总
数据可视化
数据可视化是理解数据分布、发现异常值的首要步骤。
数据预处理实战
涵盖特征工程、数据清洗及 PyTorch 工程规范。
Kaggle 经典项目实战系列
本系列博客完整记录了从数据理解到模型训练的全流程:
进阶阅读:AI 大模型中的数据清洗与预处理技术研究
【机器学习笔记】数据处理 (Google ML)
https://xingguang641.com/posts/ml-note/data-processing/