机器学习笔记——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

 

posted @ 2019-07-15 16:08  仝渊涛  阅读(238)  评论(0编辑  收藏  举报