最大最小归一化的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()

图像展示:

相关文章
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
最大值归一化介绍
【10月更文挑战第2天】
99 0
|
7月前
【每日一题Day133】LC2373矩阵中的局部最大值 | 模拟
【每日一题Day133】LC2373矩阵中的局部最大值 | 模拟
52 0
|
数据挖掘
kmeans聚类质心个数选取的10种方式
kmeans聚类质心个数选取的10种方式
153 0
|
7月前
|
算法 前端开发 测试技术
3033. 修改矩阵
3033. 修改矩阵
39 0
|
机器学习/深度学习 PyTorch 算法框架/工具
base model初始化large model,造成的参数矩阵对不上权重不匹配问题+修改预训练权重形状和上采样
base model初始化large model,造成的参数矩阵对不上权重不匹配问题+修改预训练权重形状和上采样
222 0
|
算法
ENVI_IDL:使用反距离权重法选取最近n个点插值(底层实现)并输出为Geotiff格式(效果等价于Arcgis中反距离权重插值)
ENVI_IDL:使用反距离权重法选取最近n个点插值(底层实现)并输出为Geotiff格式(效果等价于Arcgis中反距离权重插值)
325 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。
1195 1
|
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 矩阵中的最大值。 返回生成的矩阵。
90 0
|
机器学习/深度学习
(模拟)(矩阵坐标表示)1219. 移动距离
(模拟)(矩阵坐标表示)1219. 移动距离
95 0
|
PyTorch 算法框架/工具
已经定义好了一个张量,如何增加代码要求计算梯度?
在 PyTorch 中,可以使用 requires_grad_() 方法来动态设置张量的 requires_grad 属性为 True,从而要求计算梯度。具体来说,对于已经创建的张量 x,可以通过调用 x.requires_grad_() 来将其设置为需要计算梯度的张量。
362 0