国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

基于數(shù)據(jù)歸一化以及Python實現(xiàn)方式

2020-02-15 22:21:11
字體:
供稿:網(wǎng)友

數(shù)據(jù)歸一化:

數(shù)據(jù)的標(biāo)準(zhǔn)化是將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間,去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)化為無量綱的純數(shù)值,便于不同單位或量級的指標(biāo)能夠進(jìn)行比較和加權(quán)。

為什么要做歸一化:

1)加快梯度下降求最優(yōu)解的速度

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

2)有可能提高精度

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

歸一化類型

1)線性歸一化

這種歸一化比較適用在數(shù)值比較集中的情況,缺陷就是如果max和min不穩(wěn)定,很容易使得歸一化結(jié)果不穩(wěn)定,使得后續(xù)的效果不穩(wěn)定,實際使用中可以用經(jīng)驗常量來代替max和min。

2)標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化

經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1。

3)非線性歸一化

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

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

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

Python實現(xiàn)

線性歸一化

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

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

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

對二維數(shù)組進(jìn)行線性歸一化:

def max_min_normalization(data_value, data_col_max_values, data_col_min_values):""" Data normalization using max value and min valueArgs: 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.shapedata_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])

標(biāo)準(zhǔn)差歸一化

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

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

獲取二維數(shù)組列方向的標(biāo)準(zhǔn)差:x.std(axis = 0)

對二維數(shù)組進(jìn)行標(biāo)準(zhǔn)差歸一化:

def standard_deviation_normalization(data_value, data_col_means,         data_col_standard_deviation):""" Data normalization using standard deviationArgs: 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.shapedata_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]            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸定县| 开江县| 乾安县| 上林县| 石城县| 毕节市| 望谟县| 罗山县| 宁安市| 南郑县| 资溪县| 峨边| 龙里县| 敦化市| 略阳县| 久治县| 镶黄旗| 德江县| 抚宁县| 衡水市| 靖边县| 江口县| 聊城市| 内黄县| 东乌珠穆沁旗| 阜新市| 专栏| 托克逊县| 武川县| 台湾省| 柳江县| 称多县| 扎赉特旗| 延川县| 通榆县| 鄂托克旗| 和龙市| 稷山县| 叶城县| 自贡市| 肇庆市|