程序清单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

机器学习实战-边学边读python代码(3)的更多相关文章

  1. 机器学习实战-边学边读python代码(4)

    程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = ...

  2. 机器学习实战-边学边读python代码(5)

    def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1):    p1 = sum(vec2Classify * p1Vec) + log(pClass1 ...

  3. 《机器学习实战》之一:knn(python代码)

    数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, ...

  4. 《机器学习实战》——k-近邻算法Python实现问题记录(转载)

    py2.7 : <机器学习实战> k-近邻算法 11.19 更新完毕 原文链接 <机器学习实战>第二章k-近邻算法,自己实现时遇到的问题,以及解决方法.做个记录. 1.写一个k ...

  5. 【机器学习实战】Machine Learning in Action 代码 视频 项目案例

    MachineLearning 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 Machine Learning in Action (机器学习实战) | ApacheCN(apa ...

  6. 《机器学习实战》AdaBoost算法(手稿+代码)

    Adaboost:多个弱分类器组成一个强分类器,按照每个弱分类器的作用大小给予不同的权重 一.Adaboost理论部分 1.1 adaboost运行过程 注释:算法是利用指数函数降低误差,运行过程通过 ...

  7. Python 机器学习实战 —— 监督学习(下)

    前言 近年来AI人工智能成为社会发展趋势,在IT行业引起一波热潮,有关机器学习.深度学习.神经网络等文章多不胜数.从智能家居.自动驾驶.无人机.智能机器人到人造卫星.安防军备,无论是国家级军事设备还是 ...

  8. Python 机器学习实战 —— 无监督学习(上)

    前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾 ...

  9. Python 机器学习实战 —— 无监督学习(下)

    前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征 ...

随机推荐

  1. Android多次点击事件的监听和处理

    package com.example.administrator.mystudent.MoreClick; import android.os.SystemClock; import android ...

  2. Android自定义键盘

    布局文件 <?xml version="1.0" encoding="UTF-8"?> <Keyboard android:keyWidth= ...

  3. Hibernate的一级二级缓存机制配置与测试

    特别感谢http://www.cnblogs.com/xiaoluo501395377/p/3377604.html 在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session ...

  4. Web前端开发基础 第四课(CSS元素模型)

    css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又 ...

  5. php课程---建立一个简单的下拉列表框

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. canvas 线条不清楚的问题

    对于canvas 画出的1px线条不清楚的问题, 一般是坐标点+0.5像素的问题, 但是有时要考虑viewpoint的问题,让canvas的width = 980,同时viewpoint = 980 ...

  7. asp

    <%@LANGUAGE="%> <!--#include file="include.asp"--> <meta http-equiv=&q ...

  8. DotNetBar中ListViewEx控件的使用

    最近一直在学习DotNetBar,今天遇到的问题是ListView的使用问题,其实没有特别难的,只是写在这里给自己留个记录. 首先,在Form中添加一个ListViewEx控件, 初始化中写代码如下: ...

  9. 真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变

    今天有朋友问到我关于"iframe自适应高度"的问题,原本以为是很简单的问题,没想到折腾了20分钟才搞定.期间遇到几个问题,要么是高度自适应了,但是当窗口改变时会出现滚动条.也就是 ...

  10. Java实现堆排序(大根堆)

    堆排序是一种树形选择排序方法,它的特点是:在排序的过程中,将array[0,...,n-1]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子结点之间的内在关系,在当前无序区中选择关键 ...