Python数据集处理之数据归一化底层代码实现

1. 介绍

数据归一化大致分为两种,一种是最值归一化,一种是均值方差归一化。
本文根据计算公式对其进行归一化处理。具体相关介绍及模块化代码实现请参考:
https://blog.csdn.net/weixin_43585050/article/details/107900811

2. 最值归一化

2.1 公式

在这里插入图片描述

2.2 代码实现

import numpy as np
np.set_printoptions(suppress=True)
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
# 调取鸢尾花样本集
X = iris.data
print(X)
# 根据输出值发现鸢尾花数据集是一个150行4列的矩阵
print(X.shape)
# 由于是4列,因此对每一列的所有元素取值;
# X[:,0]中,“:”指的是对矩阵X取所有行,“0”指的是对矩阵X取第一列
# np.min(X[:,0])是指取矩阵X中第一列所有元素中的最小值,同理可得np.max(X[:,0])
X[:,0] = (X[:,0]-np.min(X[:,0]))/(np.max(X[:,0])-np.min(X[:,0]))
X[:,1] = (X[:,1]-np.min(X[:,1]))/(np.max(X[:,1])-np.min(X[:,1]))
X[:,2] = (X[:,2]-np.min(X[:,2]))/(np.max(X[:,2])-np.min(X[:,2]))
X[:,3] = (X[:,3]-np.min(X[:,3]))/(np.max(X[:,3])-np.min(X[:,3]))

print(X)

2.3 结果显示

2.3.1 原始数据:

原始数据

2.3.2 最值归一化后的数据

在这里插入图片描述

3. 均值方差归一化

3.1 公式

在这里插入图片描述

3.2 代码实现

import numpy as np
np.set_printoptions(suppress=True)
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
# 调取鸢尾花样本集
X = iris.data
print(X)
# 根据输出值发现鸢尾花数据集是一个150行4列的矩阵
print(X.shape)
# 由于是4列,因此对每一列的所有元素取值;
# X[:,0]中,“:”指的是对矩阵X取所有行,“0”指的是对矩阵X取第一列
# np.min(X[:,0])是指取矩阵X中第一列所有元素中的最小值,同理可得np.max(X[:,0])
X[:,0] = (X[:,0]-np.mean(X[:,0]))/np.std(X[:,0])
X[:,1] = (X[:,1]-np.mean(X[:,1]))/np.std(X[:,1])
X[:,2] = (X[:,2]-np.mean(X[:,2]))/np.std(X[:,2])
X[:,3] = (X[:,3]-np.mean(X[:,3]))/np.std(X[:,3])
print(X)

3.3 结果

3.3.1 原始数据

在这里插入图片描述

3.3.2 均值方差归一化结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值