机器学习:KNN算法(MATLAB实现)

举报
格图洛书 发表于 2021/12/30 02:50:50 2021/12/30
【摘要】    K-近邻算法的思想如下:首先,计算新样本与训练样本之间的距离,找到距离最近的K 个邻居;然后,根据这些邻居所属的类别来判定新样本的类别,如果它们都属于同一个类别,那么新样本也属于这个类;否则,对每个后选类别进行评分,按照某种规则确定新样本的类别。(统计出现的频率) 该算法比较适用于样本容量比较大的类域的自动分...

   K-近邻算法的思想如下:首先,计算新样本与训练样本之间的距离,找到距离最近的K 个邻居;然后,根据这些邻居所属的类别来判定新样本的类别,如果它们都属于同一个类别,那么新样本也属于这个类;否则,对每个后选类别进行评分,按照某种规则确定新样本的类别。(统计出现的频率)

该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分当K值较小时可能产生过拟合,因为训练误差很小,但是测试误差可能很大;相反,当K值较大时可能产生欠拟合。

算法伪代码

对未知类别属性的数据集中的每个点依次执行以下操作:

(1)    计算已知类别的数据集中的点与当前点之间的距离;

(2)    按照距离递增次序排序;

(3)    选取与当前点距离最小的K个点;

(4)    确定前K个点所在类别的出现频率;

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/35287839

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。