机器学习实战(一)–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时,没有给出操作代码,操作代码如下: