python代码规范化_数据标准化方法及其Python代码实现
數(shù)據(jù)的標(biāo)準(zhǔn)化(normalization)是將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間。目前數(shù)據(jù)標(biāo)準(zhǔn)化方法有多種,歸結(jié)起來可以分為直線型方法(如極值法、標(biāo)準(zhǔn)差法)、折線型方法(如三折線法)、曲線型方法(如半正態(tài)性分布)。不同的標(biāo)準(zhǔn)化方法,對系統(tǒng)的評價結(jié)果會產(chǎn)生不同的影響,然而不幸的是,在數(shù)據(jù)標(biāo)準(zhǔn)化方法的選擇上,還沒有通用的法則可以遵循。
常見的方法有:min-max標(biāo)準(zhǔn)化(Min-max normalization),log函數(shù)轉(zhuǎn)換,atan函數(shù)轉(zhuǎn)換,z-score標(biāo)準(zhǔn)化(zero-mena normalization,此方法最為常用),模糊量化法,均值歸一化。本文只介紹min-max標(biāo)準(zhǔn)化、Z-score標(biāo)準(zhǔn)化方法、均值歸一化、log函數(shù)轉(zhuǎn)換、atan函數(shù)轉(zhuǎn)換。
data = [1, 3, 4, 5, 2, 13, 23, 71, 11, 19, 9, 24, 38]
一、min-max標(biāo)準(zhǔn)化(Min-Max Normalization)
也稱為離差標(biāo)準(zhǔn)化,是對原始數(shù)據(jù)的線性變換,使結(jié)果值映射到[0 - 1]之間。轉(zhuǎn)換函數(shù)如下:
from __future__ import print_function, division
# min-max標(biāo)準(zhǔn)化方法
data0 = [(x - min(data))/(max(data) - min(data)) for x in data]
二、Z-score標(biāo)準(zhǔn)化方法
這種方法給予原始數(shù)據(jù)的均值(mean)和標(biāo)準(zhǔn)差(standard deviation)進(jìn)行數(shù)據(jù)的標(biāo)準(zhǔn)化。經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1,轉(zhuǎn)化函數(shù)為:
from __future__ import print_function
import math
# 均值
average = float(sum(data))/len(data)
# 方差
total = 0
for value in data:
total += (value - average) ** 2
stddev = math.sqrt(total/len(data))
# z-score標(biāo)準(zhǔn)化方法
data1 = [(x-average)/stddev for x in data]
三、均值歸一化
兩種方式,以max為分母的歸一化方法和以max-min為分母的歸一化方法
from __future__ import print_function
# 均值
average = float(sum(data))/len(data)
# 均值歸一化方法
data2_1 = [(x - average )/max(data) for x in data]
data2_2 = [(x - average )/(max(data) - min(data)) for x in data]
四、log函數(shù)轉(zhuǎn)換方法
from __future__ import print_function
import math
# log2函數(shù)轉(zhuǎn)換
data3_1 = [math.log2(x) for x in data]
# log10函數(shù)轉(zhuǎn)換
data3_2 = [math.log10(x) for x in data]
五、atan函數(shù)轉(zhuǎn)換方法
from __future__ import print_function
import math
# atan函數(shù)轉(zhuǎn)換方法
data4 = [math.atan(x) for x in data]
總結(jié)
以上是生活随笔為你收集整理的python代码规范化_数据标准化方法及其Python代码实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python按钮点击按一次触发一次_家里
- 下一篇: wxpython 安装_下载和安装wxP