給定乙個訓練資料集,對於新的輸入例項,在資料集中找到與該例項最鄰近的k個例項,這k個例項多數屬於哪一類,就把該輸入例項分為這個類。
優點:精度高、對異常值不敏感、無資料輸入假定。
缺點:計算複雜度高、空間複雜度高。
k值選擇:應用中k值一般取乙個比較小的數值,通常採用交叉驗證選取最優的k值。
距離度量:lp距離,歐氏距離(p=2),曼哈頓距離(p=1),切比雪夫距離(p=無窮)
分類決策規則:多數表決
特徵維數大及訓練資料容量大時,可以使用特殊的結構儲存訓練資料,以減少計算距離的次數。比如kd樹。
1.kd樹的構造
(1)構造根節點,選擇第一維座標中位數的位置(根節點)為切分點,將該維度分為兩部分。
(2)下一維度切割。
(3)所有點切分完畢停止。
tip:切割維度的選擇可以使用方差,選擇方差大的維度進行切割。**:
2.kd樹搜尋原文:
K 近鄰演算法學習
coding utf 8 from numpy import import operator def createdataset group array 1.0,1.1 1.0,1.0 0,0 0,0.1 labels a a b b return group,labels def classify...
(機器學習實戰)K 近鄰演算法學習過程
k 近鄰演算法,簡單地說,k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類 k近鄰演算法特徵 詳細優點 精度高 對異常值不敏感 無資料輸入假定 缺點計算複雜度高 空間複雜度高 適用資料範圍 數值型和標稱型 k 近鄰演算法的一般流程 收集資料 可以使用任何方法 準備資料 距離計算所需要的數值,最...
機器學習演算法一 k 近鄰演算法(1)
採用測量不同特徵值之間的距離方法進行分類。knn工作原理 訓練樣本集中每個資料有乙個一一對應的所屬分類的標籤。需要分類的新資料沒有標籤,將新資料的每個特徵與樣本集中資料對應的特徵進行比較,然後將樣本集中與其特徵最相似 最近鄰 的資料標籤作為新資料的標籤。一般來說,我們選擇樣本集中前k個最相似的資料 ...