• 机器学习笔记——k-近邻算法(一)简单代码


    import numpy as np
    ##初始化数据
    T = [[3, 104, -1],
        [2, 100, -1],
        [1, 81, -1],
        [101, 10, 1],
        [99, 5, 1],
        [98, 2, 1]]
    ##初始化待测样本
    x = [18, 90]
    ##初始化邻居数
    K = 5
    
    ##初始化存储距离列表[[距离1,标签1],[距离2,标签2]....]
    dis=[]
    
    ##循环每一个数据点,把计算结果放入dis
    for i in T:
        d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5
        dis.append([d,i[-1]])
    ##对dis按照距离排序
    dis.sort()
    ##将前K个票放入投票箱
    np.sign(sum([i[-1] for i in dis[:K]]))
    
        二
    #带权投票
    import numpy as np
    
    ##初始化数据
    T = [[3, 104, -1],
        [2, 100, -1],
        [1, 81, -1],
        [101, 10, 1],
        [99, 5, 1],
        [98, 2, 1]]
    ##初始化待测样本
    x = [18, 90]
    ##初始化邻居数
    K = 5
    
    ##初始化存储距离列表[[距离1,标签1],[距离2,标签2]....]
    dis=[]
    
    ##循环每一个数据点,把计算结果放入dis
    for i in T:
        d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5
        dis.append([d,i[-1]])
    ##对dis按照距离排序
    dis.sort()
    ##将前K个票放入投票箱
    np.sign(sum([i[-1]/i[0] for i in dis[:K]]))
    
             三
    import numpy as np
    
    ##初始化数据
    T = [[3, 104, 98],
        [2, 100, 93],
        [1, 81, 95],
        [101, 10, 16],
        [99, 5, 8],
        [98, 2, 7]]
    ##初始化待测样本
    x = [18, 90]
    ##初始化邻居数
    K = 5
    
    ##初始化存储距离列表[[距离1,标签1],[距离2,标签2]....]
    dis=[]
    
    ##循环每一个数据点,把计算结果放入dis
    for i in T:
        d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5
        dis.append([d,i[-1]])
    ##对dis按照距离排序
    dis.sort()
    ##将前K个票放入投票箱
    np.mean([i[-1] for i in dis[:K]])
    
          四
    #带权回归
    import numpy as np
    
    ##初始化数据
    T = [[3, 104, 98],
        [2, 100, 93],
        [1, 81, 95],
        [101, 10, 16],
        [99, 5, 8],
        [98, 2, 7]]
    ##初始化待测样本
    x = [18, 90]
    ##初始化邻居数
    K = 5
    
    ##初始化存储距离列表[[距离1,标签1],[距离2,标签2]....]
    dis=[]
    
    ##循环每一个数据点,把计算结果放入dis
    for i in T:
        d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5
        dis.append([d,i[-1]])
    ##对dis按照距离排序
    dis.sort()
    ##将前K个票放入投票箱
    fenzi = sum([i[-1]/i[0] for i in dis[:K]])
    fenmu = sum([1/i[0] for i in dis[:K]])
    fenzi/fenmu
    加油!
  • 相关阅读:
    ubuntu18.04 安装 jdk
    MySQL集群(PXC)入门
    Synchronized 详解
    Java多线程之内存可见性
    MySQL8.0新特性
    vue配置域名访问
    debain8 安装mysql8
    idea 激活步骤
    spring boot 设置tomcat post参数限制
    人脸识别技术全面总结:从传统方法到深度学习[转载自机器之心]
  • 原文地址:https://www.cnblogs.com/1994tj/p/11189511.html
Copyright © 2020-2023  润新知