一. 作業題目:原生python實現knn分類演算法,用鳶尾花資料集。
二.演算法設計
knn演算法核心思想:如果乙個樣本在特徵空間中的k個最相似(最近臨)的樣本中大多數屬於某個類別,則該樣本也屬於這個類別。
knn(k-nearest neighbor)工作原理:存在乙個樣本資料集合,也稱為訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類對應的關係。輸入沒有標籤的資料後,將新資料中的每個特徵與樣本集中資料對應的特徵進行比較,提取出樣本集中特徵最相似資料(最近鄰)的分類標籤。一般來說,我們只選擇樣本資料集中前k個最相似的資料,這就是k近鄰演算法中k的出處,通常k是不大於20的整數。最後選擇k個最相似資料**現次數最多的分類作為新資料的分類。
演算法原理:
(1)準備資料集和標籤
(2)計算測試資料與訓練資料之間的距離
(3)將這些距離公升序排列
(4)確定前k個最近點
(5)返回類別出現頻率最高的元素類別
三.源**
import numpy as np
import random
import math
from sklearn.datasets import load_iris#呼叫load_iris函式載入資料
#原生python實現knn過程
Python實現KNN演算法
from numpy import import operator def creatdataset group array 1.0,1.1 1.0,1.0 0,0 0,0.1 lables a a b b return group,lables def classify0 inx,dataset,...
python實現knn演算法
importnumpyasnp importoperator defcreatedataset group np.array 1.0 1.1 1.0 1.0 0.0 0.0 0.0 0.1 labels a a b b returngroup,labels 分類演算法 inx待分類的點 defcla...
python實現KNN演算法
具體 如下 import numpy as np import matplotlib.pyplot as plt class myknn def init self,k self.k k def compute self,x train,y train,x test dist i 0 計算歐式距離 ...