**如下:
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提出的一種基本分類與回歸方法。它的工作原理是 存在乙個樣本資料集合,也稱作為訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每乙個資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新的...