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