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演算法是一種有監督的分類演算法,輸入同樣為樣本特徵值向量以及對應的類標籤,輸出則為具有分類功能的模型,能夠根據輸入的特徵值 分類結果。核心原理就是,與待分類...