数据包在上一篇,这里不贴了。
from numpy import * # 导入科学计算包
import operator # 导入运算符模块
"""打开文件"""
def file2matrix(filename):
fr = open(filename) # 打开文件
arrarOLines = fr.readlines() # 读取内容
numberOfLines = len(arrarOLines) # 解析有多少行
returnMat = zeros((numberOfLines, 3)) # 创建行数*3的矩阵,以0填充
classLabelVector = []
index = 0
for line in arrarOLines:
line = line.strip() # 删除空白字符
listFromLine = line.split('\t') # 以空格来分割
returnMat[index, :] = listFromLine[0:3] # 前三位放入矩阵
classLabelVector.append(listFromLine[-1]) # 最后一位存入标签
index += 1
return returnMat, classLabelVector
"""分类函数"""
def classfy0(inX, dataSet, labels, k): # 参数分别为测试样本,训练样本,训练样本标签,近邻个数
dataSetSize = dataSet.shape[0] # 返回行列数,0为行,列为1
diffMat = tile(inX, (d