k-近邻算法解决分类问题

该博客介绍了k-近邻算法的工作原理,通过计算新数据与样本集中的数据的欧几里得距离,选择最近的k个点,根据它们的类别标签进行投票来决定新数据的分类。文章通过创建数据集、编写k-近邻算法函数并应用于约会网站的配对效果改进,展示了算法的实际应用和效果。
摘要由CSDN通过智能技术生成

简单地说,k近邻算法采用测量不同特征值之间的距离方法进行分类。

即,假设样本数据集已知各个特征值和其类别,在输入没有类别标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,计算两数据点之间的欧几里得距离,选择前k个距离最小(特征最相似)的数据所对应的分类标签,出现次数最多的分类,作为新数据的分类。

1.导入科学计算包NumPy和运算符模块,使用createDataSet函数创建数据集和标签,结果如表格所示:

from numpy import *
import operator


def createDataSet():
    group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]])
    labels = ['A', 'A', 'B', 'B']
    return group, labels
样本特征及分类
  特征1 特征2 分类
样本1 1.0 1.1 A
样本2 1.0 1.0 A
样本3 0 0 B
样本4 0 0.1 B

2.编写k-近邻算法函数

def classify0(inX, dataSet, labels, k):
    dataSetSize = dataSet.sha
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值