Z-Score标准化
一、说明:Z-Score标准化是数据处理的一种常用方法。通过它能够将不同量级的数据转化为统一量度的Z-Score分值进行比较。提高了数据可比性,削弱了数据解释性。二、公式:1、总体数据的均值(μ)2、总体数据的标准差(σ)3、个体的观测值(x)三、Z-Score的优缺点优点:1、简单,容易计算,凭借最简单的数学公式就能够计算出Z-Score并进行比较。2、Z-Score能够应用于数值型的数据,并且
·
一、说明:
Z-Score标准化是数据处理的一种常用方法。通过它能够将不同量级的数据转化为统一量度的Z-Score分值进行比较。提高了数据可比性,削弱了数据解释性。
二、公式:
1、总体数据的均值(μ)
2、总体数据的标准差(σ)
3、个体的观测值(x)
三、Z-Score的优缺点
优点:
1、简单,容易计算,凭借最简单的数学公式就能够计算出Z-Score并进行比较。
2、Z-Score能够应用于数值型的数据,并且不受数据量级的影响,因为它本身的作用就是消除量级给分析带来的不便。
缺点:
1、首先,估算Z-Score需要总体的平均值与方差,这一值在真实的分析与挖掘中很难得到,大多数情况下是用样本的均值与标准差替代。
2、其次,Z-Score对于数据的分布有一定的要求,正态分布是最有利于Z-Score计算的。
3、最后,Z-Score消除了数据具有的实际意义,A的Z-Score与B的Z-Score与他们各自的分数不再有关系,因此Z-Score的结果只能用于比较数据间的结果,数据的真实意义还需要还原原值。
四、Z-Score标准化python代码实现
import math
def get_average(data): #求数组平均数
return sum(data) / len(data)
def get_variance(data):#求数组方差
average = get_average(data)
return sum([(x - average) ** 2 for x in data]) / len(data)
def get_standard_deviation(data): #求数组标准差
variance = get_variance(data)
return math.sqrt(variance)
def get_z_score(data): #求数组的z-score归一化最后的结果
avg = get_average(data)
stan = get_standard_deviation(data)
scores = [(i-avg)/stan for i in data]
return scores
五、实际应用Python实现
def get_z_score(df):
return (df['Duration'] - df['Duration'].mean())/df['Duration'].std()
更多推荐
已为社区贡献1条内容
所有评论(0)