R語言實現KNN 演算法

2021-07-08 09:54:34 字數 1003 閱讀 6944

knn是機器學習中最簡單的分類演算法之一

就是把每乙個測試樣本跟訓練樣本中的每乙個樣本求他們的歐式距離,然後選出最小的幾個,裡面哪乙個類多 這個測試樣本就屬於哪乙個類

用r語言自帶的iris 寫了一下

data("iris")

length(iris[,1])

idx = sample(150,100)

train = iris[idx,]

test = iris[-idx,]

trainlabel = train[,"species"]

testlabel = test[,"species"]

traindata = train[,c(1:4)]

testdata = test[,c(1:4)]

traindata = as.matrix(traindata)

testdata = as.matrix(testdata)

#testdata[1,]

label = c(1:100)

falseaccury = 0;

for ( i in 1:length(testdata[,1]) )

maxnumber = max(countvi,countve,countse)

if(maxnumber == countvi) label[i] = "virginica"

if(maxnumber == countve) label[i] = "versicolor"

if(maxnumber== countse) label[i] = "setosa"

if(testlabel[i] != label[i]) falseaccury = falseaccury+1

}data.frame(label[c(1:50)],testlabel)

paste("the wrong accuracy is :",falseaccury*1.0/50,sep = "")

執行結果如下

R語言實現K近鄰 knn 演算法

需求 rm list ls knnprop read.csv knn fictious.csv header false 樣本個數 prow 86 測試資料的個數 srow 258 迴圈次數 fornum 30 knn演算法 knn 距離排序 distancec distancec order di...

Bagging演算法的R語言實現

bagging 是bootstrap aggregating的縮寫,是第一批用於多分類整合演算法。bagging演算法如下 迴圈k次,每次都從樣本集d中有放回地抽取樣本集di,這樣總共得到k個樣本集,用這k個樣本集進行決策樹生成,獲得k個決策樹模型,再將要檢測的資料用這k個決策樹模型進行多數表決,獲...

R語言學習 KNN臨近演算法

概念 1 監督學習 從給定標註的訓練資料中學習出乙個函式,根據這個函式為新資料進行標註。2 無監督學習 從給定無標註的訓練資料中學習出乙個函式,根據這個函式為所有資料標註。knn分類演算法 通過對已知類別訓練資料集的分析,從中發現分類規則,以此 新資料的類別,分類演算法屬於監督學習的型別。knn概念...