机器学习实战-边学边读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
机器学习实战-边学边读python代码(3)的更多相关文章
- 机器学习实战-边学边读python代码(4)
程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = ...
- 机器学习实战-边学边读python代码(5)
def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1): p1 = sum(vec2Classify * p1Vec) + log(pClass1 ...
- 《机器学习实战》之一:knn(python代码)
数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, ...
- 《机器学习实战》——k-近邻算法Python实现问题记录(转载)
py2.7 : <机器学习实战> k-近邻算法 11.19 更新完毕 原文链接 <机器学习实战>第二章k-近邻算法,自己实现时遇到的问题,以及解决方法.做个记录. 1.写一个k ...
- 【机器学习实战】Machine Learning in Action 代码 视频 项目案例
MachineLearning 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 Machine Learning in Action (机器学习实战) | ApacheCN(apa ...
- 《机器学习实战》AdaBoost算法(手稿+代码)
Adaboost:多个弱分类器组成一个强分类器,按照每个弱分类器的作用大小给予不同的权重 一.Adaboost理论部分 1.1 adaboost运行过程 注释:算法是利用指数函数降低误差,运行过程通过 ...
- Python 机器学习实战 —— 监督学习(下)
前言 近年来AI人工智能成为社会发展趋势,在IT行业引起一波热潮,有关机器学习.深度学习.神经网络等文章多不胜数.从智能家居.自动驾驶.无人机.智能机器人到人造卫星.安防军备,无论是国家级军事设备还是 ...
- Python 机器学习实战 —— 无监督学习(上)
前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾 ...
- Python 机器学习实战 —— 无监督学习(下)
前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征 ...
随机推荐
- MyBatis增删改查
MyBatis的简介: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- android中versionCode&versionName
原文来自:http://blog.csdn.net/wh_19910525/article/details/8660416 ,略有修改 一.概述 Android的版本可以在androidmainfes ...
- JAVA中保留指定小数位方法
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; ...
- wamp下多域名配置
1.找到wamp安装目录的apache安装目录 找到 httpd.conf文件 例如我安装的目录为 E:\wamp\bin\apache\apache2.2.8\conf\httpd.conf 也可以 ...
- 20145337《Java程序设计》第三周学习总结
20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描 ...
- jQuery判断元素是否存在方法总结
在jquery中判断元素是否存在我们可使用$("#div").length > 0)来判断了,意思就是判断元素长度了,如果没有肯定是不存在的哦,下面我来介绍介绍. 使用传统j ...
- sqlplus 初始化文件(每一次打开sqlplus不用重新设置 linesize 和 pagesize)
初始化文件目录 D:\oracle\product\11.2.0\dbhome_1\sqlplus\admin\glogin.sql 用记事本打开,添加 --SET linesize 150SET ...
- grep中正则匹配的使用
如要匹配Computer或computer两个单词,可做如下操作: [Cc]mputer “.”允许匹配ASCII集中任意字符,或为字母,或为数字. 使用\{\}匹配模式结果出现的次数 匹配字母A出现 ...
- PHP 多维数组 Key Value的使用
<?php $user["60"] = array("id" => "60", "num" => &q ...
- 用Appium进行android自动化测试
appium是开源的移动端自动化测试框架,可以测试ios,android应用.appium让移动端自动化测试不必限定在某种语言和某个具体的框架:也就是说任何人都可以使用自己最熟悉最顺手的语言以及框架来 ...