Kmeans和KNN区别

1、Kmeans

kmeans是无监督学习,人工先验指定K代表聚类中心,然后根据这个聚类中心,迭代更新;设置最大的迭代次数下,聚类中心不在改变为算法终止的条件。 通过可以通过手肘法,取最佳的K值。

2、KNN

2.1 简介

knn是监督学习,解决分类任务和回归任务: 分类任务: 1、计算出样本数据和待分类数据的距离; 2、为待分类数据选择K个与其距离最小的样本; 3、统计出K个样本中大多数样本所属的分类; 4、这个分类就是待分类数据所属的分类。 回归任务: 通常对周围的K个点,求平均得到最后预测点的回归值。

2.2 面试容易问到的

k设置小的问题

k设置比较重要,在分类任务中,如果k值设置较小,算法的估计误差比较大,预测结果会对近邻点十分敏感,也就是说,如果近邻点是噪声点的话,预测就会出错。因此,k值过小容易导致KNN算法的过拟合(容易将噪音点识别为分类点)。

k设置大的问题

相关,设置偏大的话,距离较远的训练样本也能够对实例预测结果产生影响。这时候,模型相对比较鲁棒,不会因为个别噪声点对最终预测结果产生影响。但是缺点也十分明显:算法的近邻误差会偏大,距离较远的点(与预测实例不相似)也会同样对预测结果产生影响,使得预测结果产生较大偏差,此时模型容易发生欠拟合。

总结

因此,在实际工程实践中,我们一般采用交叉验证的方式选取k值。通过以上分析可知,一般k值选得比较小,我们会在较小范围内选取k值,同时把测试集上准确率最高的那个确定为最终的算法超参数k。

全部评论

相关推荐

1 1 评论
分享
牛客网
牛客企业服务