归一化算法指的就是将不同的数据经过一定的变化之后转为同种类型的数据,例如在求一些物理题目时就可以将它们统一的转为力或者焦耳这种单位,同时也会将数据放大或者缩小限制在一定的单位内 。下文会来给大家讲解python实现归一化算法的代码,一起往下看看吧 。
文章插图
1.首先需要将模块给导入进来,因为归一化算法一般都是对多组数据进行操作的,将numpy库导入进来创建数组对象 。matplotlib库的pyplot模块用来实现数据可视化,代码如下:
import numpy as npimport matplotlib.pyplot as plt2.调用numpy库的array()方法定义数组对象,数组里面的数据可以为任意大小,示例如下:
Data = np.array([[0.2,0.9,29], [0.9,0.1,100], [0.5,0.5,30]])3.归一化算法的本质就是找出该组数据之中的最大值和最小值,然后将这些数据都转换成0-1或者是-1-1之间的值 。这种实现归一化算法的方式被称之为最大最小值,公式为最小值除以最大值减去最小值 。定义一个函数来将公式实现,代码如下:
【Python怎么实现归一化算法?Python归一化算法代码是什么】def MinMax(data): min = 0 max = 1 C = data[:,2] min = np.min(C) max = np.max(C) for one in data: one[2] = (one[2]-min) / (max-min) return data在以上的代码之中将数组Data里面的所有数据都给取了出来,然后使用min以及max方法得到了其中的最大最小值,再套用公式将所有的值都进行一遍计算后返回生成的矩阵 。
4.那么最后一步实际上是最简单的,那么就是将两组数据作为生成可视化图表的参数来绘制散点图,这样就可以直观的看到数据之间的差异和变化了,代码如下所示:
def ShowData(Data,ShowD1): length = len(Data) X = np.ones(Data.shape[0]) plt.figure(1) plt.subplot(121) for i in range(length): plt.scatter(X*(i+1),Data[:,i]) plt.subplot(122) for i in range(length): plt.scatter(X*(i+1),ShowD1[:,i]) plt.show()ShowData(Data,MinMax(Data.copy()))以上就是关于“Python怎么实现归一化算法?Python归一化算法代码是什么”的全部内容了,希望对你有所帮助 。
推荐阅读
- Python实现递归算法怎么做?Python递归算法如何理解
- 三角梅怎么养护避免掉叶甚至死亡
- Python中的join和path.join有什么区别?Python两个join函数怎么用
- Python中if__name__=='__main__'有什么用?这篇文章看了就明白
- Python怎么给图像添加高斯噪声?Python中图像高斯噪声有什么用
- Python计时器模块是什么?Python什么模块可以自动计算时间
- Python中的time模块作用是什么?Python时间模块time方法详解
- sublime text3怎么运行代码程序?sublime text3运行Python代码程序的方法
- 龙须枣树怎么养殖养殖方法
- 珊瑚棒长得难看怎么办修剪方法