當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R knn k-最近鄰分類


R語言 knn 位於 class 包(package)。

說明

k-nearest 訓練集測試集的鄰居分類。對於測試集的每一行,找到k 最近(歐幾裏得距離)的訓練集向量,並通過多數投票決定分類,並隨機打破平局。如果第 k 最接近的向量存在平局,則所有候選人都將包含在投票中。

用法

knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)

參數

train

訓練集案例的矩陣或 DataFrame 。

test

測試集案例的矩陣或 DataFrame 。對於單個情況,向量將被解釋為行向量。

cl

訓練集真實分類因子

k

考慮的鄰居數量。

l

明確決定的最低投票數,否則 doubt 。 (更準確地說,即使 k 因平局而增加,也允許少於 k-l 的反對票。)

prob

如果這是真的,獲勝類的得票比例將作為屬性 prob 返回。

use.all

控製關係的處理。如果為 true,則包含等於 k 最大的所有距離。如果為 false,則隨機選擇等於 k th 的距離來精確使用 k 鄰居。

測試集的分類因子。 doubt 將返回為 NA

例子

train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])
cl <- factor(c(rep("s",25), rep("c",25), rep("v",25)))
knn(train, test, cl, k = 3, prob=TRUE)
attributes(.Last.value)

參考

Ripley, B. D. (1996) Pattern Recognition and Neural Networks. Cambridge.

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.

也可以看看

knn1 , knn.cv

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 k-Nearest Neighbour Classification。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。