KNN演算法筆記

2021-09-12 21:32:02 字數 975 閱讀 1923

***knn***(k-nearest neighbor algorithm),也就是k近鄰演算法,顧名思義,可以形象的理解為求k個最近的鄰居。當k=1時,***knn***演算法就成了最近鄰演算法,即尋找最近的哪個鄰居。

該演算法簡單的說就是給定乙個訓練資料集,對新輸入例項,在訓練資料集中找到屬於該例項最鄰近的k個例項,如果這k個例項的多屬於某個類,就將該輸入的例項分類到這個類中。

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

按照距離遞增依次排序;

選取與當前點距離最近的k個點;

確定前k個點所在類別的出現頻率(做回歸任務時,則計算k個點的平均值);

返回前k個點出現頻率最高的類別作為當前點的**分類(做回歸任務時,則將平均值作為**值)

優點:knn演算法是分類資料最簡單的演算法,具有精度高,對異常值不明顯,無資料輸入假定的特點。

缺點:knn演算法必須儲存全部的資料,如果訓練的資料集比較大,必須使用大量的儲存空間,而且對每個資料距離計算,可能會比較耗時,knn演算法的另乙個缺陷是無法給出任何資料的基礎結構資訊,無法知道例項樣本和典型樣本具有什麼特徵

講完原理和優缺點肯定就得來點實際的**了,我用的時python3.6的環境

第一步導包:

from sklearn.neighbors import kneighborsregressor

當做分類任務時導 :

from sklearn.neighbors import kneighborsclassifierla

第二步例項化,進行訓練、**:

knn_standard=kneighborsregressor()

knn_standard.fit(訓練集特徵資料,訓練集標籤資料)

price_standard=knn_standard.predict(測試集特徵資料)

測試時只需放入特徵資料

第一次寫部落格就當作對機器學習的複習,以後慢慢學!

資料探勘演算法筆記 knn演算法

前幾篇的總結居然格式錯誤,找時間重新整理。一調包import numpy as npfrom sklearn.neighbors import kneighborsclassifierknn kneighborsclassifier data np.array 3,104 2,100 1,81 10...

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演算法學習筆記

概念 k近鄰 knn,k nearestneighbor 所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。核心思想 如果乙個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別,並具有這個類別上樣本的特性。最簡單的機器學習演算法之...