当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。