跳到正文ChatGPT 说 · Jimmy Huang's BlogChatGPT 说
本页目录· 141 条
0. 本周内容在 Data Wrangling 里的位置
Data Wrangling 可以理解为把“原始、混乱、不适合分析的数据”一步一步变成“干净、统一、适合建模或分析的数据”。
本周的 Data Transformation 通常发生在数据清洗之后:
上周重点是 Data Cleaning,比如处理 missing data 和 outliers。
本周重点是 Data Transformation,也就是把清洗后的数据进一步转换成更适合分析、可视化和建模的形式。
1. Data Transformation 是什么?
1.1 一句话理解
Data Transformation 就是改变数据的表示方式,让它更适合后续分析或机器学习。
它不只是“把脏数据清干净”,而是进一步让数据变得:
更统一;
更容易比较;
更容易可视化;
更符合模型假设;
更容易被算法学习。
1.2 为什么要做 Data Transformation?
课件中提到的原因主要包括:
Fix skewness in data修正偏态分布。比如收入、房价、访问量经常是右偏分布,少数极大值会把图拉长。
Enhance data visualisation改善可视化效果。比如原始值跨度太大时,小值会挤在一起,看不出细节。
提高解释性。比如把年龄从连续数字转成 young / middle-aged / senior,有时更容易解释。
Improve model compatibility让数据更符合模型假设。比如有些模型更喜欢近似正态分布,或者要求特征尺度相近。
1.3 本周知识地图
2. Data Normalisation:为什么要把数值放到共同尺度?
2.1 核心理解
Data Normalisation 的目的,是把不同数值列调整到更统一的尺度,但尽量不丢失原始信息。
年龄:18 到 80;
收入:20,000 到 200,000;
距离:0 到 50 km。
如果直接放进模型,收入的数字范围远大于年龄和距离,某些算法可能会误以为“收入更重要”,但这只是单位和尺度造成的。
不改变数据背后的相对关系,但让不同特征更公平地被比较。
2.2 Normalisation 的两大类
课件把 Data Normalisation 分成两类:
Scaling:把数据缩放到某个范围或用某种规则压缩范围。
Standardisation:把数据变成均值为 0、标准差为 1 的形式。
3. Scaling:把数据范围缩放到更合适的区间
3.1 Scaling 是什么?
这个数值列现在范围太大、太小、单位不一致,我能不能把它压缩或映射到一个更适合的范围?
4. Min-Max Scaling
4.1 核心公式
这个公式会把最小值变成 0,把最大值变成 1,中间值按比例放到 0 到 1 之间。
4.2 通俗例子
假设考试分数最低 50,最高 100。某人得了 75。
4.3 优点
简单,容易理解;
保留原始分布形状,只是整体缩放;
输出范围固定,常见是 [0, 1]。
4.4 缺点
如果大多数房价在 50 万到 100 万之间,但有一个超级豪宅 5000 万,那么 Min-Max Scaling 会把大多数正常房价挤到非常小的一段范围内。
4.5 Quiz 判断点
5. MaxAbs Scaling
5.1 核心公式
5.2 通俗例子
5.3 重点理解
MaxAbs Scaling 的结果通常在 [-1, 1] 之间。
5.4 优点
简单快速;
不会 shift / centre 数据;
对稀疏数据友好,因为 0 还是 0。
5.5 缺点
5.6 Quiz 判断点
6. Decimal Scaling
6.1 核心公式
其中 c 是一个足够大的整数,目标是让最大绝对值小于 1。
6.2 通俗理解
Decimal Scaling 就是“移动小数点”。
最大绝对值是 500。为了让所有值绝对值小于 1,可以除以 1000:
6.3 优点
6.4 缺点
对 outliers 敏感;
标准化效果有限,因为它只是粗略移动小数点。
6.5 Quiz 判断点
7. Robust Scaling
7.1 核心公式
median 是中位数;
Q1 是 25% 分位数;
Q3 是 75% 分位数;
IQR 是中间 50% 数据的范围。
7.2 通俗理解
Robust Scaling 不太关心极端最大值和最小值,而是看“中间大多数数据”的位置和范围。
例如收入数据中有几个亿万富翁,如果用 Min-Max,普通人的收入会被挤到一起;如果用 Robust Scaling,因为它使用 median 和 IQR,极端收入对缩放影响会小很多。
7.3 优点
对 outliers 很稳健;
能保持更有用的数据分布和尺度。
7.4 缺点
7.5 Quiz 判断点
“median”;
“IQR”;
“quartile range”;
“robust to outliers”;
8. Log Scaling
8.1 核心公式
log 的底可以不同,常见是自然对数,也可以根据场景选择其他底。
8.2 通俗理解
原始数据差距非常大,但取 log 后会变得更接近线性增长。
8.3 适合场景
exponential growth;
population growth;
viral spread;
highly skewed data;
variance 不稳定的数据。
8.4 优点
8.5 缺点
8.6 Quiz 判断点
9. Standardisation / Z-score Normalisation
9.1 核心公式
9.2 通俗理解
Standardisation 不是把数据限制在 0 到 1,而是把每个值变成:
z = 0:刚好等于平均值;
z = 1:比平均值高 1 个标准差;
z = -2:比平均值低 2 个标准差。
9.3 和 Min-Max Scaling 的关键区别
9.4 优点
比 Min-Max 更能处理 outliers;
对很多假设数据近似正态的算法有帮助;
能表达每个点相对平均水平的位置。
9.5 缺点
9.6 Quiz 判断点
10. Scaling 方法总对比:怎么快速选?
10.1 最重要的易混淆点
Normalisation vs Standardisation
在日常机器学习语境里,有些人会把 normalisation 狭义地理解为 Min-Max Scaling。
但在这份课件中,Data Normalisation 是一个更大的类别,里面包括:
所以 Quiz 如果严格按课件,看到 Data Normalisation 不要只想到 Min-Max。
Min-Max vs Robust
Log Scaling vs Power Transformation
11. Linear Transformation 线性转换
11.1 核心理解
Linear Transformation 是用线性方式转换数据:
11.2 通俗例子
Celsius to Fahrenheit;
Miles to Kilometres;
Inches to Centimetres。
这就是线性转换,因为它只是乘一个系数再加一个常数。
11.3 优点
简单清楚;
有助于不同单位之间的比较;
不会改变变量之间的基本线性结构。
11.4 缺点
11.5 Quiz 判断点
答案通常是 Linear Transformation。
12. Power Transformation 幂转换
12.1 核心理解
Power Transformation 是通过平方、平方根、倒数、对数等方式改变变量形状。
原始数据关系不是线性的,或者分布太偏,希望通过转换让它更接近线性或正态。
12.2 和 Linear Transformation 的区别
12.3 Tukey and Mosteller’s Bulging Rule
课件提到 Tukey and Mosteller’s Bulging Rule。它的核心思想是:
当散点图呈现弯曲关系时,可以同时对 x 和 y 做幂转换,让关系变得更接近直线。
12.4 常见幂转换方向
可以把 power transformation 理解成一把“调形状”的工具:
13. Box-Cox Transformation
13.1 核心理解
Box-Cox Transformation 是一种 Power Transformation,目标是:
把连续变量转换得更接近 normal distribution。
13.2 λ 是什么?
13.3 Box-Cox 的关键限制
如果数据中有 0 或负数,课件提到可以通过 offset c 把数据整体移动到正数范围。
但要注意,这会改变数据的解释,因此不能随便乱加,要有合理说明。
13.4 Quiz 判断点
“transform continuous variable into an almost normal distribution”;
“lambda parameter”;
“λ = 0 gives log transformation”;
“positive values required / offset negative values”;
答案通常是 Box-Cox Transformation。
14. Data Discretisation 数据离散化
14.1 核心理解
Data Discretisation 是把连续变量转换成离散变量或类别变量。
14.2 为什么要离散化?
Smooth data平滑数据,让细小波动不那么明显。
Reduce noise降低噪声,比如把 18.1 和 18.2 都归为同一年龄段。
Enable methods using nominal data让某些只能处理类别数据的方法可以使用。
14.3 损失与收益
例如把年龄变成 young / old 后,25 岁和35 岁可能都属于 adult,但它们原本的数值差异消失了。
14.4 Quiz 判断点
“continuous variables to nominal variables”;
“partitioning continuous variables”;
“smooth data / reduce noise / reduce data size”;
答案通常是 Data Discretisation。
15. Binning 分箱
15.1 Binning 是什么?
Binning 是一种常见的 discretisation 方法。
它把排序后的数值分成若干个 bin,也就是若干个区间。
Binning 是 unsupervised algorithm,不关心 dependent variable。
也就是说,它只看输入变量自己的数值分布,不看标签或目标变量。
16. Equal-width Binning 等宽分箱
16.1 核心公式
w 是每个 bin 的宽度;
n 是 bin 的数量。
16.2 通俗理解
Equal-width Binning 是把整个数值范围平均切成几段。
16.3 优点
16.4 缺点
16.5 Quiz 判断点
答案通常是 Equal-width Binning。
17. Equal-depth Binning 等深分箱
17.1 核心理解
Equal-depth Binning 是让每个 bin 里有差不多数量的样本。
例如 100 个样本分成 5 个 bin,每个 bin 大约 20 个样本。
17.2 和 Equal-width 的区别
17.3 优点
每个 bin 保持差不多样本量;
更适合 skewed data;
能更好保留数据分布。
17.4 Quiz 判断点
“each interval contains approximately the same number of samples”;
“keeps the distribution of the data”;
“better for skewed data than equal-width”;
答案通常是 Equal-depth Binning。
18. Binning 后如何平滑数据?
Binning by mean用 bin 内平均值替换所有值。
Binning by median用 bin 内中位数替换所有值。
Binning by boundaries用边界值替换,每个值通常替换为离它更近的边界。
18.1 通俗例子
18.2 Quiz 判断点
如果题目考“binning smoothing”,重点记住:
mean:全部替换成平均值;
median:全部替换成中位数;
boundaries:替换成靠近的边界值。
19. Data Construction 数据构造
Data Construction 是从已有数据中构造更有用的数据表示。
Feature Engineering;
Data Sampling。
20. Feature Engineering 特征工程
20.1 核心理解
Feature Engineering 的目标是让数据中的“特征”更有用。
Feature Extraction / Generation从原始数据或已有特征中生成新特征。
Feature Selection从已有特征中选择一部分更有用的特征。
21. Feature Extraction / Generation
21.1 是什么?
Feature Extraction / Generation 是:
21.2 通俗例子
21.3 目标
22. Feature Selection
22.1 是什么?
22.2 为什么要做 Feature Selection?
remove irrelevant data;
increase predictive accuracy;
improve learning efficiency;
reduce model complexity;
increase interpretability。
不是什么字段都越多越好。无关字段、重复字段、噪声字段可能会拖累模型。
22.3 Feature Selection 的目标
课件中说,Feature Subset Selection 的目标是找到一个最小属性集合,使得用这个小集合得到的数据类别分布尽可能接近使用所有属性时的分布。
23. Feature Subset Selection 方法
23.1 Stepwise Forward Selection 前向选择
每一步加入一个最有用的特征,直到继续加入没有明显收益。
23.2 Stepwise Backward Elimination 后向消除
23.3 Combination of Forward and Backward
例如加了一些特征之后,也允许把之前加入但后来发现不好的特征删掉。
23.4 Decision Tree Induction
决策树在分裂节点时会选择更有区分能力的特征,因此最终树中使用到的特征可以被看作重要特征。
23.5 Quiz 判断点
24. Data Sampling 数据采样
24.1 核心理解
Sampling 是从大数据集中选择一个代表性子集。
Reduce the volume of data减少数据量。
Fix imbalance distribution缓解类别不平衡问题。
Create training, validation, testing sets创建训练集、验证集和测试集。
24.2 关键思想
Sampling 的重点不是随便少拿一些数据,而是:
25. Simple Random Sample Without Replacement:SRSWOR
25.1 是什么?
25.2 通俗理解
25.3 Quiz 判断点
26. Simple Random Sample With Replacement:SRSWR
26.1 是什么?
26.2 通俗理解
26.3 Quiz 判断点
27. Stratified Sampling 分层采样
27.1 是什么?
Stratified Sampling 是先把数据分成互不重叠的层,也就是 strata,然后在每一层内部进行随机采样。
27.2 为什么要分层采样?
比如原始数据中 senior 很少,如果简单随机抽样,可能样本里几乎没有 senior。这样后续分析会偏向 youth 和 middle-aged。
Stratified Sampling 可以更好保留原始数据中的群体结构。
27.3 Quiz 判断点
“divide dataset into mutually disjoint parts”;
“strata”;
“obtain SRS at each stratum”;
“keep subgroup representation”;
答案通常是 Stratified Sampling。
28. Sampling 方法对比
29. 本周最容易考的概念对比
29.1 Transformation vs Cleaning
29.2 Scaling vs Standardisation
29.3 Discretisation vs Sampling
29.4 Feature Generation vs Feature Selection
29.5 Equal-width vs Equal-depth
30. 高频选择题判断关键词表
31. 一页速记版
31.1 Data Transformation 的主线
31.2 Normalisation 主线
31.3 Scaling 速记
31.4 Transformation 速记
31.5 Discretisation 速记
31.6 Feature Engineering 速记
31.7 Sampling 速记
32. 最后复习建议
这周 Quiz 如果是概念选择题,最重要不是背复杂计算,而是能根据题干判断:
题目是在说 scale 范围,还是在说 mean/std?
题目是否强调 outliers?如果是,优先想到 Robust Scaling。
题目是否强调 right skew / exponential growth?如果是,优先想到 Log Scaling 或 Power Transformation。
题目是否把连续值变成类别?如果是,想到 Discretisation / Binning。
题目是否强调每箱宽度一样还是样本数一样?分别是 Equal-width 和 Equal-depth。
题目是否在创造新特征还是选择已有特征?分别是 Feature Generation 和 Feature Selection。
题目是否在减少数据量并保持代表性?这是 Sampling。
题目是否强调 strata / subgroup representation?这是 Stratified Sampling。
33. 推荐记忆口诀
Data Discovery → Data Collection → Data Cleaning → Data Transformation → Data Enrichment → Data Validation → Data Storing
Data Transformation
│
├── Data Normalisation 数据规范化
│ ├── Scaling 缩放
│ │ ├── Min-Max Scaling
│ │ ├── MaxAbs Scaling
│ │ ├── Decimal Scaling
│ │ ├── Robust Scaling
│ │ └── Log Scaling
│ └── Standardisation 标准化 / Z-score
│
├── Linear Transformation 线性转换
│
├── Power Transformation 幂转换
│ ├── Tukey and Mosteller's Bulging Rule
│ └── Box-Cox Transformation
│
├── Data Discretisation 数据离散化
│ └── Binning 分箱
│ ├── Equal-width binning
│ └── Equal-depth binning
│
└── Data Construction 数据构造
├── Feature Engineering
│ ├── Feature Extraction / Generation
│ └── Feature Selection
└── Data Sampling
├── SRSWOR
├── SRSWR
└── Stratified Sampling
x_scaled = (x - x_min) / (x_max - x_min)
(75 - 50) / (100 - 50) = 25 / 50 = 0.5
[-10/20, 5/20, 20/20, -15/20]
= [-0.5, 0.25, 1, -0.75]
-500 / 1000 = -0.500
45 / 1000 = 0.045
x_scaled = (x - median) / IQR
IQR = Q3 - Q1
mean = 0
standard deviation = 1
x_linear = w0 + w1x1 + w2x2 + ... + wmxm
如果 λ ≠ 0: y = (x^λ - 1) / λ
如果 λ = 0: y = log(x)
如果最小值是 -5,可以给所有值加 6,使最小值变成 1。
年龄 18, 25, 46, 72
→ young, adult, middle-aged, senior
收入数值
→ low income, medium income, high income
0-20, 20-40, 40-60, 60-80, 80-100
Upload_Lag_Days = Post_Date - Taken_Date
Simple Random Sample Without Replacement
Simple Random Sample With Replacement
原始数据清洗后,不一定适合直接分析。
Data Transformation 负责改变数据的尺度、分布、形式和特征结构。
目标是让数据更统一、更可解释、更适合可视化和建模。
Normalisation = 让数值特征更可比较
├── Scaling = 改范围
└── Standardisation = 改均值和标准差
Min-Max:压到 0-1,怕 outliers
MaxAbs:除以最大绝对值,保留 0,适合稀疏数据,怕 outliers
Decimal:移动小数点,简单但粗糙
Robust:median + IQR,不怕 outliers
Log:压缩大值,处理右偏和指数增长,但要求正值
Linear Transformation:不改变线性关系,常见于单位转换
Power Transformation:改变曲线形状,让关系更线性或分布更接近正态
Box-Cox:用 λ 找合适幂转换,让连续变量接近正态,通常要求正值
Discretisation:连续 → 类别
Binning:把排序数值切成 bins
Equal-width:区间宽度一样
Equal-depth:每箱样本数差不多一样
Feature Generation:造新特征
Feature Selection:选有用特征,删无关/冗余特征
Forward:从空开始加
Backward:从全量开始删
Decision Tree:用树选择重要特征
Sampling:选代表性子集
SRSWOR:无放回,不重复
SRSWR:有放回,可能重复
Stratified:先分层,再每层抽样,保持群体代表性
范围统一找 Scaling,
均值为零 Z-score;
异常值多用 Robust,
右偏指数用 Log;
连续分类 Discretise,
等宽看 width,等深看 count;
造特征是 Generation,
挑特征是 Selection;
无放回不重复,有放回可重复,
分层采样保代表。