数据标准化

1、标准化 Standardization
标准化又被称为均值移除(mean removal),对不同样本的同一特征 值进行处理,最终均值为0,标准差为1,采用此种方式我们只需要使 用如下公式即可。

x_scaled = (x-mean)/std

import numpy as np
from sklearn import preprocessing

data_standardized = preprocessing.scale(data)

2、数据缩放化(Scaling)

对不同样本的同一特征值,减去其最小值,除以(最大值-最小值), 最终原最大值为1,原最小值为0,这样在数据分析时可以有效的消除 不同单位大小对最终结构的权重影响。(例如股票类信息,如果股价 是5-7元之间浮动,但是每天成交量在100万上下,在不在采用缩放 的模式下,成交量的数据权重会比股价高上几万倍,导致最终预测数 据出现畸形

x_scaled = (x-x_min)/(x_max-x_min)

data_scaler = preprocessing.MinMaxScaler(feature_range=(0, 1))
data_scaled = data_scaler.fit_transform(data)

3、数据归一化(Normalization)
当您要调整特征向量中的值时,可以使用数据归一化,以便可以使用 通用比例尺对其进行测量。机器学习中最常用的规范化形式之一是调 整特征向量的值,使其总和为1。常见的处理方式有如下几种:L1模 式 L2模式。 

归一化的L1范数模式
L1范数是我们经常见到的一种范数,它的定义如下:||x|| = sum(|xi|)  L1: z = sum(|xi|)
L1范数有很多的名字,例如我们熟悉的曼哈顿距离、最小绝对误差等 。使用L1范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference)

data_normalized = preprocessing.normalize(data, norm='l1',axis=0)

归一化的L2范数模式
L2范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏 距离就是一种L2范数,它的定义如下:

||x|| = math.sqrt(sum(xi**2))  L2:z = math.sqrt(sum(xi**2)) 
L2范数通常会被用来做优化目标函数的正则化项,防止模型为了迎合 训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力

data_normalized = preprocessing.normalize(data, norm='l2',axis=0)

4、数据二值化(Binarization)

当我们要将数字特征向量转换为布尔向量时,可以使用二值化。在数 字图像处理领域,图像二值化是将彩色或灰度图像转换为二进制图像 (即仅具有两种颜色(通常是黑白)的图像)的过程。
此技术用于识别对象,形状,尤其是字符。通过二值化,可以将感兴 趣的对象与发现对象的背景区分开

data_binarized = preprocessing.Binarizer(threshold=1.4).transform(data)

5、独热编码器(One-hot)

对于经常需要处理各种分散数值的情况。实战当中我们并不需要存储 这些值。相对于传统的将每个独立的对象进行一对一的编码。独热编 码器可以将“一键编码”视为一种可以强化特征向量的工具。它查看 每个功能并标识不同值的总数。它使用N分之一的方案来编码值。基 于该方案对特征向量中的每个特征进行编码。这有助于我们提高空间 效率。

encoder = preprocessing.OneHotEncoder()
encoder.fit(data)

encoded_vector = encoder.transform([[1, 0, 3]]).toarray()

标签化 LabelEncoder

label_encoder = preprocessing.LabelEncoder()

input_classes = ['audi', 'ford', 'audi', 'toyota', 'ford', 'bmw']

label_encoder.fit(input_classes)

labels = ['toyota', 'ford', 'audi']
encoded_labels = label_encoder.transform(labels)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值