数据挖掘概念与技术作业(留复习用)

最小-最大规范化

z分数规范化

小数定标

ages=[13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,36,40,45,46,52,70];

#3.7第一问
def get_standard(age):
    vi=(age-ages[0])*1.0/(ages[len(ages)-1]-ages[0])*(1-0)+0;
    return vi;

#3.7第二问
def get_zscore(age,ave,var):
    return (age-ave)*1.0/var;

#3.7第三问
def get_demicalScale(age,max):
    j=get_j(max);
    number=get_num(j);
    return age*1.0/(number*1.0);


#求j
def get_j(maxnum):
    j=0;
    while(maxnum>1):
        maxnum=maxnum*1.0/10.0;
        j=j+1;
    return j;

#求倍数
def get_num(j):
    if(j==0):
        return 1;
    return get_num(j-1)*10;

#求均值
def get_ave():
    length=len(ages);
    sum=0;
    for x in ages:
        sum+=x;
    return sum*1.0/(length*1.0);

print "age为35使用最小-最大规范化变换到【0,1】区间的值为",get_standard(35);

print "age为35使用z分数规范化为",get_zscore(35,get_ave(),12.94);

print "age为35使用小数定标为",get_demicalScale(35,ages[len(ages)-1]);


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值