机器学习_2:K-近领算法
实验背景
本次实验基于机器学习经典的k-近邻算法,k-近邻算法的原理和基础的分类实验请参考我的上篇博客机器学习_1:K-近领算法,本次实验我们来解决如何用k近邻算法实现约会网站配对,和调试修改手写体识别的错误率。
1.约会网站配对
1.1实验背景
如图所示,本次实验属于分类实验,将每年获得的飞行常客里程数,玩视频游戏所耗时间百分比,以及每周消费的冰淇淋公升数作为输入变量,判断这个人是(讨厌,一般,喜欢)中的哪一类。
1.2算法解析
#从文本文件中解析数据
def file2matrix(filename):
fr = open(filename)
#获得文件内行数
numberOfLines = len(fr.readlines())
#返回值
returnMat = zeros((numberOfLines,3))
#标签列表
classLabelVector = []
fr = open(filename)
index = 0
for line in fr.readlines():
#截取所有回车字符
line = line.strip()
#使用tab字符将得到的整行数据分割成一个元素列表
listFromLine = line.split('\t')
#选取前三个元素存储到特征矩阵中
returnMat[index,: