4.1.1数值型数据的处理
标准化&归一化!
- 数据标准化是一个常用的数据预处理操作,目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异等对模型的影响。
- 标准化(Z-Score)
- Z-Score标准化是基于原始数据的均值和标准差进行的标准化,假设原转换的数据为x,新数据为x′,那么x’=(x-mean)/std,其中mean和std为x所在列的均值和标准差。
- 这种方法适合大多数类型的数据,也是很多工具的默认标准化方法。标准化之后的数据是以0为均值,方差为1的正态分布。但是Z-Score方法是一种中心化方法,会改变原有数据的分布结构,不适合对稀疏数据做处理。
- 归一化(Max-Min)
- Max-Min标准化方法是对原始数据进行线性变换,假设原转换的数据为x,新数据为x′,那么x’=(x-min)/(max-min),其中min和max为x所在列的最小值和最大值。
- 这种标准化方法的应用非常广泛,得到的数据会完全落入[0,1]区间内(Z-Score则没有类似区间)。这种方法能使数据归一化而落到一定的区间内,同时还能较好地保持原有数据结构。
import numpy as np
from sklearn import preprocessing
import matplotlib.pyplot as plt
# Z-Score标准化
zscore_scaler = preprocessing.StandardSca