k近邻算法是机器学习里面一个比较基础的算法,下面是一个pytho实例,用k近邻算法来对约会对象的主观喜好程度进行预测分类。
算法步骤:
(1)获取解析样本数据(本例使用datingTestSet.txt 可以到Github下载)
(2)数据预处理(不同特征的数据值的大小对于距离的影响较大,所以要对不同特征的数据值进行处理,换算成区间(0,1)的数据值)
(3) 分类器测试(本程序的测试误差为5%)
(4) 对于一个新的测试数据,输入分类器进行分类,获取结果
from numpy import *
import operator
#假设网站已对路人甲约会对象的数据进行了收集,放在datingTestSet.txt文件下,从左到右分别为:
#(1)约会对象每年获得飞行常客里数 (2)约会对象玩视频游戏所耗的时间百分比
#(3) 约会对象每周消费的冰淇淋公升数 (4) 路人甲对该约会对象的喜好程度(含不喜欢的人,有点喜欢,非常喜欢三个评价)
#本例程序用来预测路人甲对新约会对象的喜好程度,误差为5%
#分类器 inX(测试数据) dataSet(样本数据集) labels(样本的类别) k(选择距离最小的k个点)
def classify0(inX, dataSet, labels, k):
#获取样本数据大小