筆記 初探KNN演算法(1)

2022-06-07 05:24:08 字數 1950 閱讀 8121

全稱是k nearest neighbors

k近鄰演算法:

其思想總的來說就是在多個樣本之間進行比較,越相似的話,新的樣本就有更高的概率屬於這個類別,一般用來解決分類問題,關於操作流程,簡單來說,就是乙個新樣本進入以後,我們需要k個鄰居(距離最近的樣本)來判斷猜測新樣本的符合的類別

對於兩個特徵點的距離計算,可以使用尤拉距離,但是往往算的是不止三維的,所以可以使用

關於基礎部分

例子:假設有10個樣本

他們的位置分別在

設定x_train和y_train

然後進行視覺化

設定乙個新的樣本

x = np.array([8.0,3.4])
再在此基礎上重新視覺化

plt.scatter(x_train[y_train==0,0],x_train[y_train==0,1],color="g")

plt.scatter(x_train[y_train==1,0],x_train[y_train==1,1],color="r")

plt.scatter(x[0],x[1],color="b")

找出新樣本的位置

knn演算法的簡單流程

求出新樣本到各個樣本的距離

得出索引

設定乙個nearest用來存放

設定k=6

設定乙個topk_y用來找出k範圍中的種類

topk_y = [y_train[i] for i in nearest[:k]]
使用counter(topk_y),來對種類進行乙個整合劃分,可看做乙個字典

最後

votes = counter(topk_y)
就可以得出大致結果

最後設定predict_y用來存放最終結果

knn演算法的筆記1

機器學習實戰的knn def classify0 inx,dataset,labels,k datasetsize dataset.shape 0 diffmat tile inx,datasetsize,1 dataset sqdiffmat diffmat 2 sqdistances sqdif...

KNN 最近鄰演算法初探

本文質量不咋地,目的是記錄一下自己的 還有乙個原因是我發現別人的部落格寫的太好了!knn 演算法屬於監督學習的演算法,基本原理是對整個資料整體進行打標籤之後,對乙個新的元素根據其在向量空間中的位置來對其分類。k近鄰演算法是在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,我們就...

KNN演算法筆記

knn k nearest neighbor algorithm 也就是k近鄰演算法,顧名思義,可以形象的理解為求k個最近的鄰居。當k 1時,knn 演算法就成了最近鄰演算法,即尋找最近的哪個鄰居。該演算法簡單的說就是給定乙個訓練資料集,對新輸入例項,在訓練資料集中找到屬於該例項最鄰近的k個例項,如...