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

本文是针对初学者的机器学习实战,聚焦K近邻算法。通过Python代码介绍算法实现,作者在学习中遇到困难并进行注释,旨在帮助其他入门者理解并提升。章节包括数据集创建和K近邻算法的初步应用。
摘要由CSDN通过智能技术生成

   机器学习实战这本书比较适合像我一样的初学者学习。书中介绍了重要的机器学习算法及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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值