标准缩放,标准分数的代码实现

data = np.c_[np.arange(100),np.random.rand(100)]

def Min_Max_scaled(data):
    '''标准缩放'''
    calculate = lambda vector : (vector-vector.min()) / (vector.max()-vector.min())
    return np.array([np.squeeze(calculate(data[:,i:i+1])) for i in range(data.shape[-1])]).T
my_scaled = Min_Max_scaled(data)

def standard_score(vector):
    '''z分数(z-score),也叫标准分数(standard score)是一个数与平均数的差再除以标准差的过程。
    在统计学中,标准分数是一个观测或数据点的值高于被观测值或测量值的平均值的标准偏差的符号数。
    z分数可以回答这样一个问题:"一个给定分数距离平均数多少个标准差?"在平均数之上的分数会得到一个正的
    标准分数,在平均数之下的分数会得到一个负的标准分数。 z分数是一种可以看出某分数在分布中相对位置的
    方法。中文名Z分数外文名z-score中文别名标准分数,标准化变量'''
    calculate = lambda vector : (vector - vector.mean()) / (vector).std(ddof = 1) #无偏标准差
    return np.array([np.squeeze(calculate(data[:,i:i+1])) for i in range(data.shape[-1])]).T 
    #return vector[0].std(ddof = 1)

def standard_score2(vector):
    '''z分数(z-score),也叫标准分数(standard score)是一个数与平均数的差再除以标准差的过程。
    在统计学中,标准分数是一个观测或数据点的值高于被观测值或测量值的平均值的标准偏差的符号数。
    z分数可以回答这样一个问题:"一个给定分数距离平均数多少个标准差?"在平均数之上的分数会得到一个正的
    标准分数,在平均数之下的分数会得到一个负的标准分数。 z分数是一种可以看出某分数在分布中相对位置的
    方法。中文名Z分数外文名z-score中文别名标准分数,标准化变量'''
    mystd = lambda vector1 : np.sqrt((np.power((vector1 - vector1.mean()),2)).sum() / (len(vector1) - 1))
    calculate = lambda vector2 : (vector2 - vector2.mean()) / mystd(vector2)
    #calculate = lambda vector : vector - vector.mean() / (vector).std(ddof = 1) #无偏标准差
    return np.array([np.squeeze(calculate(data[:,i:i+1])) for i in range(data.shape[-1])]).T 
    #return mystd(vector[0])
    
standard_score2(data)-standard_score(data)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值