zoukankan      html  css  js  c++  java
  • 机器学习笔记——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
    加油!
  • 相关阅读:
    ValueError:Expected more than 1 value per channel when training, got input size torch.Size([1, 512, 1, 1])
    指定GPU运行
    ModuleNotFoundError: No module named 'past'
    ImportError: libSM.so.6: cannot open shared object file: No such file or dir
    ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
    zsh: command not found: conda
    TypeError: Class advice impossible in Python3. Use the @implementer class decorator instead.
    数据结构(八)图
    数据结构(二)线性表
    数据结构(七)数与二叉树
  • 原文地址:https://www.cnblogs.com/1994tj/p/11189511.html
Copyright © 2011-2022 走看看