最大最小归一化的demo

简介: 最大最小归一化的代码解释最大最小归一化,顾名思义,就是利用数据列中的最大值和最小值进行标准化处理,标准化后的数值处于[0,1]之间,计算方式为数据与该列的最小值作差,再除以极差。

最大最小归一化的代码解释

最大最小归一化,顾名思义,就是利用数据列中的最大值和最小值进行标准化处理,标准化后的数值处于[0,1]之间,计算方式为数据与该列的最小值作差,再除以极差。

具体公式为:


x=xminmaxminx=maxminxmin

公式中x ’ x’x’表示单个数据的取值,m i n minmin是数据所在列的最小值,m a x maxmax是数据所在列的最大值。

最大最小归一化容易受极端值的影响,当某列数据中存在极端值时,可以根据实际的业务场景,考虑事先将极端值或异常值剔除,或者是对标准化后的数据进行变换,如取对数等,使得变换后的数据接近于正态分布。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 19 09:21:35 2021
@author: Li huanyu
"""
# 最大值最小值归一化:(X-Xmin)/(Xmax-Xmin)
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
x = x.reshape(-1, 1)
rand = np.random.rand(100) * np.random.randint(10)
rand = rand.reshape(-1, 1)
# 获取Xmax,Xmin
x_max = np.max(rand)
x_min = np.min(rand)
result = []
# 查找数组的索引:np.where(rand == i)
for i in rand: 
    result.append((float(i[0]) - x_min)/(x_max - x_min))
result = np.array(result, dtype = float) #转化为numpy形式
result = result.reshape(-1, 1)
# 可视化
plt.plot(x, rand, "r.", label="native")
plt.plot(x, result, "b.", linewidth=2, label="normalized")
plt.legend(loc="upper left")
plt.grid()
plt.show()

图像展示:

相关文章
|
1月前
|
数据采集 机器学习/深度学习 数据可视化
最大值归一化介绍
【10月更文挑战第2天】
41 0
|
5月前
技术心得记录:可决系数R^2和方差膨胀因子VIF
技术心得记录:可决系数R^2和方差膨胀因子VIF
63 0
|
机器学习/深度学习 PyTorch 算法框架/工具
base model初始化large model,造成的参数矩阵对不上权重不匹配问题+修改预训练权重形状和上采样
base model初始化large model,造成的参数矩阵对不上权重不匹配问题+修改预训练权重形状和上采样
214 0
|
算法
ENVI_IDL:使用反距离权重法选取最近n个点插值(底层实现)并输出为Geotiff格式(效果等价于Arcgis中反距离权重插值)
ENVI_IDL:使用反距离权重法选取最近n个点插值(底层实现)并输出为Geotiff格式(效果等价于Arcgis中反距离权重插值)
313 0
|
存储 算法
输出函数f(a,b)=2×a2+b2的最小的100个函数值及相应的两个参数的值
输出函数f(a,b)=2×a2+b2的最小的100个函数值及相应的两个参数的值
100 0
|
资源调度 PyTorch 算法框架/工具
pytorch 如何生成指定位置、尺度参数的随机高斯矩阵,并指定这个随机矩阵的形式
在上述代码中,我们使用 torch.normal(mean=mu, std=sigma, size=(m, n)) 函数直接生成了一个形状为 (m, n) 的随机高斯矩阵 data,其中 mean 参数指定了均值,std 参数指定了标准差。 需要注意的是,与 torch.randn() 不同,torch.normal() 生成的是具有指定均值和标准差的高斯分布,因此生成的随机矩阵不一定是标准正态分布。如果需要生成标准正态分布随机矩阵,可以将 mean 参数设置为 0,std 参数设置为 1。
1170 1
|
算法 搜索推荐 流计算
基于上下文的推荐 -- 包括时间衰减算法和位置推荐算法(代码实现)
基于上下文的推荐 -- 包括时间衰减算法和位置推荐算法(代码实现)
318 0
|
C++
2373. 矩阵中的局部最大值
给你一个大小为 n x n 的整数矩阵 grid 。 生成一个大小为 (n - 2) x (n - 2) 的整数矩阵  maxLocal ,并满足: maxLocal[i][j] 等于 grid 中以 i + 1 行和 j + 1 列为中心的 3 x 3 矩阵中的 最大值 。 换句话说,我们希望找出 grid 中每个 3 x 3 矩阵中的最大值。 返回生成的矩阵。
87 0
|
大数据 iOS开发 Python
Python 按分类权重(区间)随机获取分类样本
Python 按分类权重(区间)随机获取分类样本
84 0
|
PyTorch 算法框架/工具
已经定义好了一个张量,如何增加代码要求计算梯度?
在 PyTorch 中,可以使用 requires_grad_() 方法来动态设置张量的 requires_grad 属性为 True,从而要求计算梯度。具体来说,对于已经创建的张量 x,可以通过调用 x.requires_grad_() 来将其设置为需要计算梯度的张量。
347 0