一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 基于數據歸一化以及Python實現方式

基于數據歸一化以及Python實現方式

2021-03-16 00:10迷茫的腳 Python

今天小編就為大家分享一篇基于數據歸一化以及Python實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

數據歸一化

數據的標準化是將數據按比例縮放,使之落入一個小的特定區間,去除數據的單位限制,將其轉化為無量綱的純數值,便于不同單位或量級的指標能夠進行比較和加權。

為什么要做歸一化:

1)加快梯度下降求最優解的速度

如果兩個特征的區間相差非常大,其所形成的等高線非常尖,很有可能走“之字型”路線(垂直等高線走),從而導致需要迭代很多次才能收斂。

2)有可能提高精度

一些分類器需要計算樣本之間的距離,如果一個特征值域范圍非常大,那么距離計算就主要取決于這個特征,從而與實際情況相悖(比如這時實際情況是值域范圍小的特征更重要)。

歸一化類型

1)線性歸一化

這種歸一化比較適用在數值比較集中的情況,缺陷就是如果max和min不穩定,很容易使得歸一化結果不穩定,使得后續的效果不穩定,實際使用中可以用經驗常量來代替max和min。

2)標準差標準化

經過處理的數據符合標準正態分布,即均值為0,標準差為1。

3)非線性歸一化

經常用在數據分化較大的場景,有些數值大,有些很小。通過一些數學函數,將原始值進行映射。該方法包括log、指數、反正切等。需要根據數據分布的情況,決定非線性函數的曲線。

log函數:x = lg(x)/lg(max)

反正切函數:x = atan(x)*2/pi

Python實現

線性歸一化

定義數組:x = numpy.array(x)

獲取二維數組列方向的最大值:x.max(axis = 0)

獲取二維數組列方向的最小值:x.min(axis = 0)

對二維數組進行線性歸一化:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def max_min_normalization(data_value, data_col_max_values, data_col_min_values):
""" Data normalization using max value and min value
 
Args:
 data_value: The data to be normalized
 data_col_max_values: The maximum value of data's columns
 data_col_min_values: The minimum value of data's columns
"""
data_shape = data_value.shape
data_rows = data_shape[0]
data_cols = data_shape[1]
 
for i in xrange(0, data_rows, 1):
 for j in xrange(0, data_cols, 1):
  data_value[i][j] = \
   (data_value[i][j] - data_col_min_values[j]) / \
   (data_col_max_values[j] - data_col_min_values[j])

標準差歸一化

定義數組:x = numpy.array(x)

獲取二維數組列方向的均值:x.mean(axis = 0)

獲取二維數組列方向的標準差:x.std(axis = 0)

對二維數組進行標準差歸一化:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def standard_deviation_normalization(data_value, data_col_means,
         data_col_standard_deviation):
""" Data normalization using standard deviation
 
Args:
 data_value: The data to be normalized
 data_col_means: The means of data's columns
 data_col_standard_deviation: The variance of data's columns
"""
data_shape = data_value.shape
data_rows = data_shape[0]
data_cols = data_shape[1]
 
for i in xrange(0, data_rows, 1):
 for j in xrange(0, data_cols, 1):
  data_value[i][j] = \
   (data_value[i][j] - data_col_means[j]) / \
   data_col_standard_deviation[j]

非線性歸一化(以lg為例)

定義數組:x = numpy.array(x)

獲取二維數組列方向的最大值:x.max(axis=0)

獲取二維數組每個元素的lg值:numpy.log10(x)

獲取二維數組列方向的最大值的lg值:numpy.log10(x.max(axis=0))

對二維數組使用lg進行非線性歸一化:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def nonlinearity_normalization_lg(data_value_after_lg,
        data_col_max_values_after_lg):
""" Data normalization using lg
 
Args:
 data_value_after_lg: The data to be normalized
 data_col_max_values_after_lg: The maximum value of data's columns
"""
 
data_shape = data_value_after_lg.shape
data_rows = data_shape[0]
data_cols = data_shape[1]
 
for i in xrange(0, data_rows, 1):
 for j in xrange(0, data_cols, 1):
  data_value_after_lg[i][j] = \
   data_value_after_lg[i][j] / data_col_max_values_after_lg[j]

以上這篇基于數據歸一化以及Python實現方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/LENOVOJXN/article/details/53768537

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产播放器一区 | 公妇乱淫在线播放免费观看 | 韩国免费视频 | 国产高清在线看 | 国产精品女同久久免费观看 | 无遮免费网站在线入口 | 91亚洲精品第一综合不卡播放 | 日韩精品视频在线观看免费 | 国产一区日韩二区欧美三 | 国产精品视频一区二区三区不卡 | 亚洲欧美日韩一区成人 | 欧美精品v日韩精品v国产精品 | 久草色视频 | 日韩精选视频 | 無码一区中文字幕少妇熟女网站 | 好大用力深一点女公交车 | 成年男女免费大片在线观看 | 亚洲精品私拍国产福利在线 | 波多野结衣xxxx性精品 | 鬼畜重口高h合集长短篇 | 娇妻与老头绿文小说系列 | 日本黄a| yjsp妖精视频在线观看免费 | 天天爽天天干天天操 | 爸爸干女儿小说 | 国产亚洲精品91 | bl双性小说 | 国产特级 | 国产在线观看91 | 色哟呦| 动漫人物差差插曲漫画 | 免费观看欧美成人禁片 | 日韩一品在线播放视频一品免费 | 果冻传媒91| 亚洲国产精品91 | 18日本xxxxxxⅹxx96 | 久久婷婷五月综合色丁香 | www.色.con | 亚欧洲乱码专区视频 | 精品国产乱码久久久久久免费 | 亚洲一级视频在线观看 |