其他分享
首页 > 其他分享> > scikit基础与机器学习入门(5) 归一化,标准化和正则化,二值化

scikit基础与机器学习入门(5) 归一化,标准化和正则化,二值化

作者:互联网

归一化,标准化和正则化,二值化

概念和含义

数据归一化:将数据集中某一列数值特征的值缩放到0-1区间内

\[z= \frac{X-min(X)}{max(X)-min(X)} \]

对不同特征维度进行伸缩变换,把有量纲表达式变为无量纲表达式;

改变原始数据的分布,使得各个特征维度对目标函数的影响权重归于一致

最大值与最小值非常容易受异常点影响,鲁棒性较差。

数据标准化:将数据集中某一列数值特征的值缩放成平均值为0,标准差为1的状态

\[z = \frac{x_i-\bar{x}}{std(x)} \]

对不同特征维度的伸缩变换使其不同度量之间的特征具有可比性;

不改变原始数据的分布,保持各个特征维度对目标函数的影响权重

对目标函数的影响体现在几何分布上。

数据正则化:将数据集中某一个样本缩放成单位标准

正则化是缩放单个样本以具有单位范数的过程。正则化有时也叫归一化,正规化。如果你计划使用
二次形式(如点积或任何其他核函数)来量化任何样本间的相似度,则此过程将非常有用。

主要应用于文本分类和聚类中。

\[z = \frac{x_i}{||x||_p} \]

image

标准化/归一化API实现

最大最小标准化

minmaxscaler = preprocessing.MinMaxScaler(feature_range = (0,1))
minmaxscaler.fit(df.values)
data = minmaxscaler.transform(df.values)
dfscaled = pd.DataFrame(data,columns = list(boston.feature_names))
dfscaled.plot(legend = False)

RobustScaler——用于有异常值的特征

此时既能保留异常值,又能防止异常值对整体的影响

x = np.array([10,1000,0,0,-30,0,20,0,10,0,0,-10])
x = x.reshape(-1,1)
robustscaler = preprocessing.RobustScaler(with_centering=True, with_scaling=True,
quantile_range=(25.0, 75.0), copy=True)
print(robustscaler.fit_transform(x))

image

MaxAbsScaler——缩放稀疏矩阵

此时不改变0的个数和位置,其他元素被缩放

y = np.array([0]*95+[0.0,20,0,10,-10])
y = y.reshape(-1,1)
scaler = preprocessing.MaxAbsScaler(copy=True)
z = scaler.fit_transform(y)
z[-10:]

image

特征的正则化

from sklearn import preprocessing
X = [[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]]
# 使用normalize函数
X_normalized = preprocessing.normalize(X, norm='l2')
print(X_normalized)
# 也可以使用Normalizer类
normalizer = preprocessing.Normalizer(norm = 'l1')
normalizer.fit(X)
normalizer.transform(X)

image

特征的二值化

特征二值化是将数值特征用阈值过滤得到布尔值的过程。

X = [[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]]
binarizer = preprocessing.Binarizer().fit(X) # fit does nothing
binarizer
binarizer.transform(X)

image

设定一个阈值

binarizer = preprocessing.Binarizer(threshold=1.1)
binarizer.transform(X)

image

参考博客

[1] 数据归一化、标准化、正则化_zhouhaomy的博客-CSDN博客

标签:fit,缩放,特征,scikit,正则,preprocessing,归一化,二值化
来源: https://www.cnblogs.com/xiaoyunbowen/p/15312449.html