机器学习之数据预处理

本文详细介绍了机器学习中的数据预处理技术,包括0-1标准化、z-score标准化、sklearn库的数据预处理方法,如均值移除、范围缩放、归一化和二值化。此外,还讨论了独热编码的原理、优缺点及其适用场景,并对比了标签编码。这些预处理步骤对于提升模型性能至关重要。
摘要由CSDN通过智能技术生成

标准化分类

  1. 0-1标准化(0-1 normalization)

原理: 离差标准化,线性变换 –> [0, 1]

转换函数:
这里写图片描述

  1. z-score标准化(zero-mean normalization)

原理:均值为0,标准差为1(符合标准正态分布) –> mean=0, std=1

转换函数:
这里写图片描述

sklearn数据预处理方法

  1. 均值移除

概述:

为了统一样本矩阵中不同特恒的基准值和分散度,可以将各个特征的平均值调整为0,标准差调整为1,这个过程称为均值移除。

标准化类型:z-score标准化

语法:

sklearn.preprocessing.scale(原始样本矩阵) –> return:均值移除后的样本矩阵(mean=0, std=1)

# 代码
import sklearn.preprocessing as sp
import numpy as np
raw_samples = np.array([
[3, -1.5, 2, -5.4],
[0, 4, -0.3, 2.1],
[1, 3.3, -1.9, -4.3]])

sp.scale(raw_samples)
Out[6]:
array([[ 1.33630621, -1.40451644, 1.29110641, -0.86687558],
[-1.06904497, 0.84543708, -0.14577008, 1.40111286],
[-0.26726124, 0.55907936, -1.14533633, -0.53423728]])

**# 注意:sp.scale(..).mean / std (axis=0) 中的axis=0 沿轴方向不能少

sp.scale(raw_samples).mean(axis=0), sp.scale(raw_samples).std(axis=0)
Out[7]:
(array([ 5.55111512e-17, -1.11022302e-16, -7.40148683e-17, -7.40148683e-17]),
array([1., 1., 1., 1.]))

# help(…scale)
def scale(X, axis=0, with_mean=True, with_std=True, copy=True):
Standardize a dataset along any axis

  1. 范围缩放

概述:

统一样本矩阵中不同特征的最大值和最小值范围。将属性缩放到一个指定的最大和最小值(通常是1-0)之间,这样处理可对方差非常小的属性增强其稳定性,也可维持稀疏矩阵中为0的条目。

标准化类型:0-1标准化

转换函数:

这里写图片描述

语法:

sklearn.preprocessing.MinMaxScaler(feature_range=期望最小最大值, copy=True) –> return: 范围缩放,
范围缩放器.fit_transform(原始样本矩阵) –> return:范围缩放后的样本矩阵

sp.MinMaxScaler(feature_r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值