设X是样本矩阵。
中心化
X-X.mean(axis=0)
注:虽然看上式是一个矩阵减一个向量,但是numpy里有广播机制,不需要手动将X.mean(axis=0)复制多行使其和X形状一样。
每一个样本减去样本均值向量(每个分量是所对应特征的均值),只是将原始数据分布向坐标轴中心平移,数据分布形状不变,中心化后的数据均值向量为0向量。
归一化
(X-X.min(axis=0))/(X.max(axis=0)-X.min(axis=0))
几何直观来讲,就是直接将数据**”挤压“到0~1之间(想象四周拿板将数据推挤到0 ~ 1).。
显然,归一化会破坏数据原始分布**,原始数据的”形状“一般和归一化后的数据都不一致了。任务中更经常用标准化。
标准化
(X-X.mean(axis=0))/X.std(axis=0)
不像归一化直接破坏了数据的分布,实际上隐含假设了数据大概率服从正太分布。