KNN算法

利用这个算法,学习一些机器学习中的基本概念。KNN是分类算法。

 

物以类聚人以群分的思想,KNN是一个没有学习过程的,不算模型,消耗的运算量比较大。

一、算法的数学原理

两点的距离计算,二维是勾股定理,三维和高维是类似的。

二、手写代码实现

三、scikit-learn 算法库实现

 
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html#sklearn.neighbors.KNeighborsClassifier 
 API文档 : https://scikit-learn.org/stable/modules/classes.html 

机器学习的目标是对未知数据进行预测。

神器之一:学习曲线

超参数k的选定是KNN的头号问题,第一步就是用学习曲线。

超参数:模型不能进行学习,只能有人工进行指定(就像神经网络的层数和每层的神经元,也是需要人工设定的)

   参数:模型在学习拟合的过程中可以自己去寻找最优值

神器之二:K-fold交叉验证

训练集、测试集,验证集(20%,就是五折验证)

原文地址:https://www.cnblogs.com/BC10/p/11751284.html