机器学习实战-边学边读python代码(3)

程序清单2-3

归一化特征值:

def autoNorm(dataSet):

/*

>>> b
array([[ 1., 2., 3.],
[ 2., 3., 4.],
[ 10., 0., 0.]])
>>> b.max(0)
array([ 10., 3., 4.])
>>> b.min(0)
array([ 1., 0., 0.])

如上面的例子,求每一列的最大值(或者最小值),组成一个向量

*/
  minVals = dataSet.min(0) 
  maxVals = dataSet.max(0)

/*

最大向量和最小向量想减

*/
  ranges = maxVals - minVals

  /*

  创建一个二维0数组,shape(dataSet)返回二维数组的维数,例如(2,3),2行3列

  zeros((2,3))

  返回

   array([[ 0., 0., 0.],
   [ 0., 0., 0.]]) 

 */
  normDataSet = zeros(shape(dataSet))

//shape[0]返回行数
  m = dataSet.shape[0]

/*举例:

>>> tile([1,0,0],(3,1))
array([[1, 0, 0],
[1, 0, 0],
[1, 0, 0]])

>>> b
array([[ 1., 2., 3.],
[ 2., 3., 4.],
[ 10., 0., 0.]])
>>> a=tile([1,0,0],(3,1))
>>> b-a
array([[ 0., 2., 3.],
[ 1., 3., 4.],
[ 9., 0., 0.]])

求出数据集和最小值的差

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

/*

用差除以区间大小,得到归一化数组

*/
  normDataSet = normDataSet/tile(ranges, (m,1))
  return normDataSet, ranges, minVals

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值