機器學習筆記——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
相關文章
相關標籤/搜索