tile()函数及其在数组数值归一化中的应用

Numpy 中 tile(Array, Dimension) 功能是叠加Array,根据Dimension构建新的维度的数组。假设Array为(1,N)数组,Dimension为(m,1)数组, tile(Array, Dimension) 即构建(m,n)数组,每一行都为Array(1,N)。


利用 tile() ,可以快速叠加一阶数组,完成数组数值归一化计算中针对最小值(下文中minVals)和区间(下文中ranges)的减法。


以下代码为Machine Learning in Action 2.2.3 中的转载示例:

def autoNorm(dataSet):
    minVals = dataSet.min(0)
    maxVals = dataSet.max(0)
    ranges = maxVals - minVals
    normDataSet = zeros(shape(dataSet))
    m = dataSet.shape[0]
    normDataSet = dataSet - tile(minVals, (m,1))
    normDataSet = normDataSet/tile(ranges, (m,1))   #element wise divide
    return normDataSet, ranges, minVals

   

(1) normDataSet = dataSet - tile(minVals, (m,1))

tile(minVals, (m,1)) 的功能是将数组  minVals 按(m,1)数组的维度叠加(即叠加m行,1列)。

(2) normDataSet = normDataSet/tile(ranges, (m,1))   #element wise divide

tile(ranges, (m,1)) 的功能是将数组  ranges (= maxVals - minVals) 按(m,1)数组的维度叠加(即叠加m行,1列)。


数组的数值归一化,即将取值范围相应转化至(0,1)或(-1,+1)区间。 下列公式将任意取值范围的特征值转化为0到1的区间中:

newValue = (oldValue - min) / (max - min)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值