**

2021年6月23日

**
今天的目标是学习:
1.序列-索引、切片
2.序列-加法、乘法
3.序列-常用的内置函数

  1. 序列:索引,切片

KNN算法(K-Nearest Neighbors Algorithm):
什么是KNN算法呢?
首先从分类上看,KNN算法属于监督型机器学习的算法,从功能上看,KNN算法常用于分类。
其优点有:
准确度高、对异常值不敏感、对数据无需假设(不理解),训练速度快。
其缺点有:
高算力消耗、需要大内存
实现过程梗概:
假设这里有一坨数据,他们都有标签,通过标签值的异同加以分类,得到一种模型,我们可以通过模型预测下一种未知数据的标签值。
比如在一片地区有两种树,分别是喜阴植物和喜阳植物,那么根据这种植物在阴暗区域和光照区域的分布数量我们可以获得地区与植物分布的相关模型。之后在一块地区又找到了一株植物,但是不知道是喜阴还是喜阳,那么根据这块地区的光照程度,选择k株数值最靠近、差距最小的植物,看这k株植物是喜阴还是向阳,我们可以估计未知植物的类型。

罗里吧嗦一大堆,简单来说KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别

上图!

KNN算法 spark KNN算法的缺点_交叉验证


绿色为预测值,假设k=3,则寻找绿色点附近最近的三个点,分别为两个三角、一个圆点,因此根据KNN 算法,会将绿色预测值划归为蓝色三角形。

关键点:

  1. 距离的计算:欧式计算
  2. KNN算法 spark KNN算法的缺点_交叉验证_02

  3. K值选择:交叉验证

代码实现:需要学习Numpy、matplotlib、sklearn 等库函数。
改变Python 语法学习过程,与应用实战相结合,先学习matplotlib和numpy库的使用。

今天就先到这里