机器学习实战 2-1 2-2

   机器学习实战这本书比较适合像我一样的初学者学习。书中介绍了重要的机器学习算法及python实现代码。由于编程能力一般,我在学习过程中遇到很多不懂的代码。用心做了注释,希望能坚持写下去,自我提升并希望能帮到入门的学习者。笔者能力有限,有所错误的地方希望读者指出并理解~

    第二章K~近邻算法

准备:

from numpy import *
import operator
def createDataSet():
    group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])#数据集,包含四个点坐标
    labels = ['A','A','B','B']#标签

    return group,labels

程序清单2-1

def classify0(inX,dataSet,labels,k):#inX:输入向量,dataSet:训练样本集,此处即CReatDataSet函数反回的group,labels:标签向量,k要选取的最近邻点的数目
    dataSetSize = dataSet.shape[0]#这里返回矩阵的行数
    diffMat = tile(inX,(dataSetSize,1)) - dataSet#tile函数有重复的功能,inX本来有一行一列,现在是datasetsize行,一列,与矩阵dataset相减即可得到坐标相减后的结果
    sqDiffMat = diffMat**2#上面得到的坐标相减形成的矩阵,这里乘方是实现欧拉公式,配合下几步计算距离
    sqDistances = sqDiffMat.sum(ax
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值