k近邻算法实例

本文介绍了k近邻算法在机器学习中的应用,通过一个Python实例展示了如何使用k近邻算法对约会对象的喜好程度进行预测分类。主要包括四步:获取并解析样本数据,数据预处理以归一化特征,训练分类器并测试其5%的误差率,最后对新数据进行分类预测。

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

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):
    #获取样本数据大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值