欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)歸一化算法詳情

 更新時間:2022年03月18日 17:05:58   作者:緊到長不胖  
這篇文章主要介紹了Python實現(xiàn)歸一化算法,歸一化算法Normalization將數(shù)據(jù)處理成量綱一直的數(shù)據(jù),一般在進(jìn)行建模的時候需要進(jìn)行數(shù)據(jù)歸一化處理,下文詳細(xì)內(nèi)容,需要的小伙伴可以參考一下

1.前言                                 

歸一化算法Normalization將數(shù)據(jù)處理成量綱一直的數(shù)據(jù),一般限定在[0,1]、[-1,1]
一般在進(jìn)行建模的時候需要進(jìn)行數(shù)據(jù)歸一化處理,

原因如下:

  • 降低計算難度
  • 有可能提高模型的預(yù)測精度
  • 消除量綱影響

下面介紹三種常見的標(biāo)準(zhǔn)化方法,分別是最大最小值、正態(tài)中心化、小數(shù)點定標(biāo)

2.Min-Max方法

2.1 公式

2.2 算法實現(xiàn)邏輯

  • 1.找一組數(shù)據(jù)的最大最小值
  • 2.利用公式歸一化
  • 3.輸入結(jié)果(為了方便可視化展示,我們設(shè)計了代碼)

2.3 代碼

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 1.最小最大標(biāo)準(zhǔn)化
Data = np.array([[0.2,0.9,29],
? ? ? ? ? ? ? ? [0.9,0.1,100],
? ? ? ? ? ? ? ? [0.5,0.5,30]]) #最?。畲髿w一化算法
# 1.1數(shù)據(jù)轉(zhuǎn)化
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)
? ? print('轉(zhuǎn)化后的矩陣:\n',data)
? ? return data


# 1.2可視化
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()))

轉(zhuǎn)化后的矩陣:

 [[0.2        0.9        0.        ]
 [0.9        0.1        1.        ]
 [0.5        0.5        0.01408451]]

2.4局限

  • 數(shù)據(jù)規(guī)模過大不適應(yīng)
  • 數(shù)據(jù)歸一化后范圍在[0,1],對于一些有負(fù)有正數(shù)的原始數(shù)據(jù)慎用

3 Z-score標(biāo)準(zhǔn)化

3.1 公式

3.2 算法實現(xiàn)邏輯

  • 輸入數(shù)據(jù)
  • 求取數(shù)據(jù)的均值、方法,在利用中心化公式計算
  • 輸出結(jié)果

3.3 代碼

def Zscore(data):
? ? x_mean = np.mean(data[:2])
? ? length = len(data[:,2])
? ? vari = np.sqrt((np.sum((data[:2]-x_mean)**2))/length)
? ? print('方差:',vari)
? ? data[:,2] = (data[:,2]-x_mean)/vari
? ? print('Z-score標(biāo)準(zhǔn)化后的矩陣是',data)
? ? return data

ShowData(Data,Zscore(Data.copy()))

方差: 51.569160680908254
Z-score標(biāo)準(zhǔn)化后的矩陣是 [[0.2        0.9        0.13864876]
 [0.9        0.1        1.5154406 ]
 [0.5        0.5        0.15804019]]

3.4 局限

  • 對樣本量少的數(shù)據(jù),表現(xiàn)不好
  • 標(biāo)準(zhǔn)化后范圍在有負(fù)有正,范圍在[-1,1]

4 小數(shù)定標(biāo)法

4.1 公式

4.2 算法實現(xiàn)邏輯

  • 輸入數(shù)據(jù)
  • 絕對值化,最大值
  • 將每個數(shù)除以最大值的數(shù)量級
  • 輸入數(shù)據(jù)

4.3 代碼實現(xiàn)

# 小數(shù)定標(biāo)歸一化算法
def Decimals(data):
? ? C = np.abs(data[:,2])
? ? max = int(np.sort(C)[-1]) # 按從小到大排序,取最后一位,及最大值
? ? k = len(str(max))
? ? print('絕對值最大的位數(shù):\n',k)
? ? data[:2] = data[:,2] /(10**k)
? ? print('小數(shù)點定標(biāo)準(zhǔn)化后的矩陣:\n',data)
? ? return data
ShowData(Data,Decimals(Data.copy()))

絕對值最大的位數(shù):

 3

小數(shù)點定標(biāo)準(zhǔn)化后的矩陣:

 [[2.9e-02 1.0e-01 3.0e-02]
 [2.9e-02 1.0e-01 3.0e-02]
 [5.0e-01 5.0e-01 3.0e+01]]

4.4 局限

  • 受到最大值影響較大

到此這篇關(guān)于Python實現(xiàn)歸一化算法詳情的文章就介紹到這了,更多相關(guān)Python歸一化算法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用python發(fā)送和接收郵件

    利用python發(fā)送和接收郵件

    這篇文章主要為大家詳細(xì)介紹了如何利用python發(fā)送和接收郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Pandas實現(xiàn)兩個表的連接功能的方法詳解

    Pandas實現(xiàn)兩個表的連接功能的方法詳解

    這篇文章主要和大家一起說說pandas的兩個表的連接技能merge,也就是根據(jù)一個表的條件去匹配另一個表的內(nèi)容,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率的源碼

    Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率的源碼

    這篇文章主要介紹了Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 如何解決PyTorch程序占用較高CPU問題

    如何解決PyTorch程序占用較高CPU問題

    這篇文章主要介紹了如何解決PyTorch程序占用較高CPU問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 利用Python Pygame放個煙花

    利用Python Pygame放個煙花

    Pygame是一款專門為開發(fā)和設(shè)計 2D 電子游戲而生的軟件包,它支 Windows、Linux、Mac OS 等操作系統(tǒng),具有良好的跨平臺性。本文將用它放個煙花,快來一起動手嘗試一下吧
    2022-01-01
  • 對Python3之方法的覆蓋與super函數(shù)詳解

    對Python3之方法的覆蓋與super函數(shù)詳解

    今天小編就為大家分享一篇對Python3之方法的覆蓋與super函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python檢驗用戶輸入密碼的復(fù)雜度

    Python檢驗用戶輸入密碼的復(fù)雜度

    這篇文章主要介紹了Python檢驗用戶輸入密碼的復(fù)雜度,在用戶設(shè)置密碼的時候檢測輸入的密碼大小寫數(shù)字等,需要的朋友可以參考下
    2023-04-04
  • python把轉(zhuǎn)列表為集合的方法

    python把轉(zhuǎn)列表為集合的方法

    在本篇文章里小編給大家分享了關(guān)于python把轉(zhuǎn)列表為集合的方法以及相關(guān)實例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • TorchVision Transforms API目標(biāo)檢測實例語義分割視頻類

    TorchVision Transforms API目標(biāo)檢測實例語義分割視頻類

    這篇文章主要為大家介紹了TorchVision Transforms API大升級,支持目標(biāo)檢測、實例/語義分割及視頻類任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 超詳細(xì)Python解釋器新手安裝教程

    超詳細(xì)Python解釋器新手安裝教程

    這篇文章主要介紹了超詳細(xì)Python解釋器新手安裝教程,文中有非常詳細(xì)的圖文示例,對不會安裝python解釋器的小伙伴們很有幫助喲,需要的朋友可以參考下
    2021-05-05

最新評論