AI-统计学习(4)-KNN 线性扫描算法-python-实例代码

           KNN 线性扫描算法可做线性回归也可做分类。概念详见前篇

  示例:

            输入数据:训练数据T={(X1,Y1)……(XN,YN)}

           待输入数据:(x_test)

           K值

   左图为输入,右图为图形界面

 

      K 为1-6时结果


1.算法步骤

2.编码步骤

3.问题 每次处理一个点。距离列表排序。

 

1.算法步骤

    1.1计算x_test 与xi的欧式距离

     1.2.欧式距离排序

     1.3.取前K个最小距离,对应训练数据点的类型Y

     1.4.对K个Y值进行统计

      1.5.返回频率出现最高的Y值

2.编码步骤

     2.1.输入 训练集,验证集

 X_train=np.array([[5,4],
                      [9,6],
                      [4,7],
                      [2,3],
                      [8,1],
                      [7,2]])
 y_train=np.array([1,1,1,-1,-1,-1])

  X_new = np.array([[5, 3]])

 

     2.2.绘图

     2.3.调参 K(1-6)总共6个数据

               K值是用交叉验证的方式取值。

3.问题:

  1. 现在每次只处理一个点,多数据处理

             for 循环

                 多进程

     2.距离列表排序、浪费时间

            用堆这个数据结构

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值