博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习实战-边学边读python代码(3)
阅读量:7075 次
发布时间:2019-06-28

本文共 992 字,大约阅读时间需要 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

作者:
博客地址:
个人博客:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
如果觉的博主写的可以,收到您的赞会是很大的动力,如果您觉的不好,您可以投反对票,但麻烦您留言写下问题在哪里,这样才能共同进步。谢谢!

你可能感兴趣的文章
等待实习的offer中的想法
查看>>
在Apache配置https方式访问网站
查看>>
线程开发之多线程之间的通讯实现
查看>>
全面分析 Spring 的编程式事务管理及声明式事务管理
查看>>
Leetcode——最长不重复子串
查看>>
myEclipse 中看jar源代码
查看>>
Linux awk 命令 说明
查看>>
shell之变量和引用
查看>>
两个基本概念 标称型数据和数值型数据
查看>>
MediaPlayer视频播放
查看>>
Android文本框实现搜索和清空效果
查看>>
Android的五种数据存储方式
查看>>
cookie的secure属性详解
查看>>
[Jquery] 实现鼠标移到某个对象,在旁边显示层。
查看>>
logrotate工具的使用
查看>>
我的友情链接
查看>>
华尔街为何弃苹果而力挺谷歌?因为谷歌无对手
查看>>
电脑蓝屏代码含义和解决方法
查看>>
Ubuntu server 14.04升级16.04
查看>>
Spring事务
查看>>