K鄰近演算法 對資料進行分類

2021-08-19 14:09:17 字數 1641 閱讀 4110

**如下:

fromscipy.spatialimportdistance

#a是距離訓練資料的一點,b是距離測試資料的一點

defeuc(a,b):

returndistance.euclidean(a,b)

classdeffit(self,x_train,y_train):

self.x_train=x_train

self.y_train=y_train

defpredict(self,x_test):

predictions=

forrowinx_test:

label=self.closest(row)

returnpredictions

defclosest(self,row):

best_dist=euc(row, self.x_train[0])

best_index=0

foriinrange(1, len(self.x_train)):

dist=euc(row, self.x_train[i])

ifdistreturnself.y_train[best_index]

fromsklearnimportdatasets#匯入資料集

iris=datasets.load_iris()

x=iris.data

y=iris.target

fromsklearn.cross_validationimporttrain_test_split

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size= .5)

#使用決策樹

# from sklearn import tree

# my_classifier=tree.decisiontreeclassifier()

#另一種分類器

#from sklearn.neighbors import kneighborsclassifiers

my_classifier.fit(x_train,y_train)

predictions=my_classifier.predict(x_test)

print(predictions)#輸出測試的結果

fromsklearn.metricsimportaccuracy_score

print(accuracy_score(y_test,predictions))#測試的準確率(每次執行的的到的準確率可能不同,這是由訓練測試的隨機分成造成的)

K 鄰近演算法

k 鄰近演算法 1.演算法描述 k 鄰近演算法 k nearest neighbor,knn 分類演算法,是最簡單的機器學習演算法。工作原理 存在乙個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每乙個資料與所屬分類對應的關係。輸入沒有標籤的新資料後,將新資料的每...

k鄰近演算法

今天學習了一點機器學習的知識,主要是機器學習最基本的演算法 k鄰近演算法。正好今天寫這篇blog可以複習鞏固,其中涉及到的code和一些內容來自 機器學習實戰 在此基礎上加了一點自己的注釋和理解。這本教程還是挺適合入門的,理論 相結合。k 近鄰演算法 knn 採用測量不同特徵值之間的距離方法進行分類...

K鄰近演算法

k近鄰法 k nearest neighbor,k nn 是1967年由cover t和hart p提出的一種基本分類與回歸方法。它的工作原理是 存在乙個樣本資料集合,也稱作為訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每乙個資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新的...