大数据,机器学习,人工智能人工智能/模式识别/机器学习精华专题机器学习与数据挖掘

机器学习系列(十)——更多关于knn的思考

2019-07-06  本文已影响4人  Ice_spring

knn算法解决回归问题简介

在前面的系列中,knn算法主要用于解决分类问题,不只是二分类问题,knn算法可以天然地解决多分类问题。而且knn算法思想简单,但效果非常之好。
不过knn算法也可以用于解决回归问题,比如下面的问题:


knn_regress

离绿色点最近的三个点数值分别为:100,120,150。那么可以将三个点的平均值作为绿色点的值,当然也可以考虑权值进行加权平均。
sklearn中封装了KNeighborsRegressor类专门用于解决回归问题。(可以参考文档进行了解和自学。)
KNeighborsRegressor文档

knn算法的缺点

维数 距离
1 0~1 1
2 (0,0)~(1,1) 1.414
3 (0,0,0)~(1,1,1) 1.732
... ... ...
10000 (0,0,...,0)~(1,1,...,1) 100

维数灾难有一个解决办法是降维,这在本系列后面会介绍。

机器学习流程再探讨

截至目前学到的知识,将机器学习流程概括如下:

  1. 将数据分为预测集和训练集
  2. 训练数据归一化(scaler)
  3. 归一化的数据训练得到模型
  4. 测试数据用同样的scaler进行归一化
  5. 送入训练得到的模型得到准确度
  6. 网格搜索调节超参数得到最好的模型

有些时候机器学习算法本身的学习并非那么重要,更重要的是对于机器学习流程的关注,这能让我们更好地理解机器学习和寻找到更好的算法。

上一篇下一篇

猜你喜欢

热点阅读