最大值最小值归一化

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Fri Sep  7 16:28:20 2018
 4 
 5 @author: zhen
 6 """
 7 # 最大值最小值归一化:(X-Xmin)/(Xmax-Xmin)
 8 import numpy as np
 9 import matplotlib.pyplot as plt
10 
11 x = np.random.rand(100)
12 x = x.reshape(-1, 1)
13 
14 rand = np.random.rand(100) * np.random.randint(10)
15 rand = rand.reshape(-1, 1)
16 # 获取Xmax,Xmin
17 x_max = np.max(rand)
18 x_min = np.min(rand)
19 
20 result = []
21 # 查找数组的索引:np.where(rand == i)
22 for i in rand:
23     result.append((float(i[0]) - x_min)/(x_max - x_min))
24     
25 result = np.array(result, dtype = float)
26 result = result.reshape(-1, 1)
27 # 可视化
28 plt.plot(x, rand, "r.", label="native")
29 plt.plot(x, result, "b.", linewidth=2, label="normalized")
30 
31 plt.legend(loc="upper left")
32 plt.grid()
33 plt.show()

结果:

分析:可知,数据的离散性大大降低,数据之间的内聚性增加,数据更加密集!

原文地址:https://www.cnblogs.com/yszd/p/9606284.html