k-近鄰演算法:
(knn —— k-nearest neighbors)
測量不同特徵值之間的距離方法進行分類。
有乙個樣本資料集(每個樣本都存在標籤),輸入沒有標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進行比較,提取樣本集中特徵最相似資料(最近鄰)的分類標籤。一般,只選擇樣本資料中前k個最相似的資料(k通常不大於20),選擇其中分類出現次數最多的作為新資料的分類。
歐式距離公式:
計算兩個向量點xa和xb之間的距離:
舉例:如果資料集存在4個特徵值,則(1,0,0,1)與(7,6,9,4)之間的距離為:
測試分類器的效果:
演算法使用:
通常使用資料的90%作為訓練樣本來訓練分類器,其餘的10%來測試分類器,這是最原始的做法,還有其他一些高階方法。注意:10%的資料是隨機選擇的。
演算法特點:
k-近鄰演算法是基於例項的學習,使用演算法時必須有接近實際資料的訓練樣本資料,同時又必須對資料集中的每個資料計算距離值,所以十分耗時。
**案例:
knn演算法應用例項(1、2)
機器學習實戰 kNN
一 演算法過程 1 首先存在乙個資料集作為訓練樣本集dataset,比如訓練樣本的資料中,每一條資料都包含乙個城市的某一天空氣中的pm2.5,no2濃度等維度的特徵值。每一條資料同時包含乙個標籤,比如這一天的空氣質素是優,良,輕度汙染,中度汙染,重度汙染中的乙個。2 現在我們輸入一條資料inx,如包...
機器學習實戰 KNN
import numpy as np import operator def createdataset group np.array 1.0,1.1 1.0,1.0 0,0 0,0.1 labels a a b b return group,labels def classify0 inx,dat...
機器學習實戰 kNN演算法
今天看了第乙個機器學習演算法 k 鄰近演算法。大概意思就是,先根據已有分劃分好類別的資料集,然後輸入新的資料向量,就計算與資料集裡各個向量的距離,排序找到前k個資料,統計前k資料中各個類別 標籤 出現的次數,最多的那個類別 標籤 就是輸入向量所屬的類別,然後返回。哈哈get乙個機器學習的演算法開心。...