K-近邻算法(kNN)是分类数据最简单有效的算法,它的工作原理是:将样本数据集合(训练样本集)的特征向量和标签进行存储,需要存储全部的数据集,当输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,一般选用最小距离方式,然后提取与样本集中特征最相似数据的分类标签,作为新数据的标签。
一般来说,只选择样本数据集中前k个最相似的特征,这就是k-近邻算法,一般k是不大于20的整数,通常可选择k=3,k=5,k=10,k的不同取值会影响分类,k值越小,容易发生过拟合,k值过大,整体的模型变得简单。可利用交叉验证法来选取最优的k值。
K-近邻算法对训练数据集只进行归一化处理,处理完成后进行存储,不会进行其他处理,在新数据计算相似程度时,需要每次都与所有的训练数据集进行匹配,因此会产生很大的计算量,程序运行相对较慢。
《机器学习实践》内程序问题:
P23,
ax.scatter(datingDataMat[:,1],datingDataMat[:,2]),15.0*array(datingLabels),15.0*ar

本文探讨了K-近邻(kNN)算法的基本原理,它依赖于找到新数据点最近的k个训练样本进行分类。k的选择影响模型性能,小k可能导致过拟合,大k则可能简化模型。kNN算法虽然简单有效,但计算量大,特别是在大规模数据集上。此外,介绍了训练数据只需归一化处理,并通过交叉验证选择最优k值的方法。
最低0.47元/天 解锁文章
974

被折叠的 条评论
为什么被折叠?



