1、什么是K近邻算法(K-NN)?
2、K-NN与K-means之间有什么区别和联系?
3、在K-NN算法中如何平衡方差和偏差?
4、在K-NN算法中如何选择K值的大小?
5、请用Python实现一个简易版本的KNN分类算法?
1、什么是K近邻算法(K-NN)?
KNN、Kmeans、层次聚类几个需要注意的点_记录与分享AI资料与学习过程-CSDN博客
2、K-NN与K-means之间有什么区别和联系?
联系:都基于样本距离的计算以及K值的学习方式,都需要指定重要超参数K
区别:KNN监督学习 Kmeans无监督聚类,本身就是两种不同的机器学习方法,KNN也可以用于回归,而Kmeans只用于聚类;KNN的K指的是K个样本,而Kmeans中指的是K个类别与聚类中心
3、在K-NN算法中如何平衡方差和偏差?
主要通过选取合适的K值来平衡,K选的小容易受噪声或异常值影响,结果方差大;K选的大容易受到不相干点的影响,偏差大
4、在K-NN算法中如何选择K值的大小?
本身就是监督学习算法,可以通过交叉验证选择合适的K值,然后对于K的选择情况下的badcase,根据决策规则进一步优化
或者通过经验设定,如基于特征数量、样本数量的经验设定
5、请用Python实现一个简易版本的KNN分类算法?
(1)设置K值,定义距离公式,计算样本点和数据集中各个样本的距离
(2)获取距离最近的K样本
(3)根据决策方式投票得到结果
计算样本点和数据集中各个样本的距离的实现:KD树实现最佳,不行就用最小堆,实在不行就调sort()
文章评论