zoukankan      html  css  js  c++  java
  • 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%,就是五折验证)

  • 相关阅读:
    第一次Java作业
    第十一次作业
    第十次作业
    第九次作业
    第八次作业
    第七次作业
    第六次作业
    Java中数组自定义排序与优先级队列笔记
    力扣每日一题:删除链表的倒数第N个节点
    又一次离谱的错误——运算符优先级
  • 原文地址:https://www.cnblogs.com/BC10/p/11751284.html
Copyright © 2011-2022 走看看