KNN演算法原理與自實現

2021-09-27 06:22:40 字數 1442 閱讀 8622

1. 計算已知類別資料集中的點與當前點之間的距離;

2. 按照距離遞增次序排序;

3. 選擇與當前距離最小的k個點;

4. 確定前k個點所在類別的出現概率

5. 返回前k個點出現頻率最高的類別作為當前點的**分類

'''距離計算

:param v1:第乙個點的位置

:param v2:第二個點的位置

:return:

'''distance = np.sqrt(np.sum(np.power(v1-v2,2)))

return distance

data = pd.read_excel('./電影分類資料.xlsx')

# print()

#獲取訓練集

train = data.iloc[:,:6]

print(train)

#獲取訓練集的特徵值與目標值

train_x = train.iloc[:,:-1]

train_y = train.iloc[:,-1]

#獲取測試集

test = data.columns[-4:]

# print(test)

#進行計算距離

for i in range(train.shape[0]):

#計算距離

dist = distance(train_x.iloc[i,2:5],test[1:])

train.loc[i,'dist'] = dist

print(train)

#對距離按照公升序進行排序

train.sort_values(by='dist',inplace=true)

print(train)

#確定k值,k值不同,結果不同

k = 6

res = train.loc[:,'電影型別'][:k].mode()[0]

print('+'*10,res)

KNN演算法原理與實現

knn k nearest neighbors 演算法不需要訓練過程,直接利用樣本之間的距離進行分類。演算法的基本過程是 給定乙個測試樣例,分別計算它與訓練集中所有樣本之間的距離,選取距離最小的k個訓練樣本對測試樣例的類別進行投票,最後將得票最多 在k個樣本中最多的類別 作為測試樣例的 類別。需要注...

knn演算法原理與實現(1)

一 演算法原理與模型 knn演算法即最近鄰演算法,其原理非常簡單即根據給定的資料集,計算資料集中點的特徵到待分類資料的歐氏距離,然後選擇距離最近的k個作為判斷依據,這k個資料中出現類別最多的作為新輸入資料的label。模型用公式表示如下 二 python 實現 author gujun bill k...

KNN演算法原理與python實現

knn演算法python實現 參考文獻 knn k nearest neighbor 演算法,顧名思義,其原理也就是 近朱者赤,近墨者黑 knn演算法是一種有監督的分類演算法,輸入同樣為樣本特徵值向量以及對應的類標籤,輸出則為具有分類功能的模型,能夠根據輸入的特徵值 分類結果。核心原理就是,與待分類...