Python怎么實現歸一化算法?Python歸一化算法代碼是什么

歸一化算法指的就是將不同的數據經過一定的變化之后轉為同種類型的數據,例如在求一些物理題目時就可以將它們統一的轉為力或者焦耳這種單位,同時也會將數據放大或者縮小限制在一定的單位內 。下文會來給大家講解python實現歸一化算法的代碼,一起往下看看吧 。

Python怎么實現歸一化算法?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歸一化算法代碼是什么”的全部內容了,希望對你有所幫助 。

    猜你喜歡