R语言 k近邻法

k近邻法是机器学习方法最简单的方法之一

基本思路:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于一个类别,则该样本也属于这个样本。在k近邻法算法中,所选择的邻居都是已经正确分类来决定待分样本所属的类别。

k临近算法主要依靠周围有限的邻近样本,属于样本中概率大的样本。


r语言中k近邻法算法的实现

1、class包 knn(  )

2、kknn包中的kknn(  )

3、caret包 中的train(  ) 参数method选择


实现

以iris数据集为例

  iris1 <- iris
  set.seed(1234)
  ind <- createDataPartition(iris1$Species, times = 1, p = 0.5, list = FALSE)
  train_data <- iris1[ind, ]
  test_data <- iris1[-ind, ]
  a <- knn(train_data[, 1:4], test_data[, 1:4], train_data[, 5], k = 3)

> a[1]; a[75]
[1] setosa
Levels: setosa versicolor virginica
[1] virginica
Levels: setosa versicolor virginica

k近邻法流程验证

  
  ceshi <- function(n = 1, k = 3) {
    x <- (train_data[, 1:4] - test_data[rep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值