机器学习实战(一)--k近邻算法

本文记录了作者在学习机器学习过程中对k-近邻算法的理解和实践,详细介绍了在Python3.5环境下遇到的问题及解决方法,包括iteritems()函数的替换、文本记录到Numpy数组的转换、类别标签的处理以及图表绘制的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习实战(一)–k近邻算法

最近在学习机器学习,顺便做个记录,一方面给自己加深印象,另一方面与大家共勉,希望能给大家一些帮助,我也是刚入门的新手,有不对的地方还请多多指教。
我用的Python3.5,有些代码与书上不太一样。

程序清单2-1 k-近邻算法
iteritems()函数在Python3.5中没有了,使用items()代替

程序清单2-2 将文本记录转换成Numpy的解析程序
classLabelVector.append(int(listFromLine[-1]))这句程序执行报错ValueError,好像是因为listFromLine[-1]存放的是LargeDoses等字符串,不是数字字符串。
修改为如下:
if listFromLine[-1] == ‘largeDoses’:
classLabelVector.append(3)
elif listFromLine[-1] == ‘smallDoses’:
classLabelVector.append(2)
elif listFromLine[-1] == ‘didntLike’:
classLabelVector.append(1)

修改kNN.py后,需要使用reload()函数重新加载到控制台,但reload函数在Python3以后移到imp标准库中,使用reload需要执行
from imp import reload

创建图2-5时,没有给出操作代码,操作代码如下:
import numpy as np
fig=plt.figure()
fig.add_subplot(111)

idx1=np.array(datingLabels) == 1
idx2=np.array(datingLabels) == 2
idx3=np.array(datingLabels) ==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值