2-4 经典机器学习算法-K近邻算法KNN,KNN与K-means之间的区别和联系,KNN平衡方差和偏差,Python实现KNN

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()

你可能感兴趣的:(AI基础知识,python,机器学习,近邻算法,kmeans,KNN)