楼主: 数据挖我
848 5

[问答] R语言的KNN实现问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

60%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.0004
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
545 点
帖子
15
精华
0
在线时间
28 小时
注册时间
2022-11-4
最后登录
2024-5-21

楼主
数据挖我 发表于 2022-12-9 12:53:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
(纯纯R语言小白)
(图1)

一直没有搞明白这个different lengths是个什么问题,我查了一下说可能是cols的问题,然后我尝试了一下下面这个
但还是报错了
(图2) 图1 图2
所以如果是多个自变量对一个分类的因变量应该怎么运用KNN(就是Knn中的train=?,test=?,cl=?)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:knn R语言 Different length DIFFER

沙发
云steven 在职认证  发表于 2022-12-9 15:18:45 来自手机
数据挖我 发表于 2022-12-9 12:53
(纯纯R语言小白)
(图1)
厉害了

藤椅
llb_321 在职认证  发表于 2022-12-10 07:51:57
knn是用train数据集的多变量样本提取分类参数,按cl对test数据集进行分类。

我用自建的数据测试了,都正常。

假设你的数据datatrain1和datatest1是数据框或矩阵,那么你第一行的代码是没有问题的。至于为什么会报错,原因还是在数据集。
而你后来改的代码是错的,datatrain1[,-(2:8)]和datatrain1[,1]本来就是一回事儿,相当于用自己的手指给自己的手指分类,没有意义的。

从代码看,你这里应该不是什么敏感数据,可以把数据传上来,再找原因。
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
数据挖我 发表于 2022-12-10 21:30:19
llb_321 发表于 2022-12-10 07:51
knn是用train数据集的多变量样本提取分类参数,按cl对test数据集进行分类。

我用自建的数据测试了,都正 ...
感谢!之前我用的也是,不过后来我发现是在训练集和测试集去掉因变量(主要是之前看书但是书上没写清楚,都不知道问题出在哪了。。。。)

报纸
数据挖我 发表于 2022-12-10 21:36:00
朋友们问题解决了,但不知道我之前问题到底出在哪了。。。。
knn(train=datatrain[,2:8],test=datatest1[,2:8],cl=datatrain1[,1])
我用这行代码是可行的....(数据有8列,第一列是因变量,)

地板
zhjx19 发表于 2022-12-11 15:11:55

张敬信:分享我的【R机器学习:mlr3verse技术手册】

R机器学习早该鸟枪换炮了
QQ截图20221211145940.jpg


看看mlr3verse如何简单实现,关键是这种通用的框架,对任何机器学习算法基本都是一样的使用:

  1. library(mlr3verse)
  2. # 创建任务
  3. task = as_task_classif(iris, target = "Species")
  4. # 选择学习器(算法)
  5. learner = lrn("classif.kknn", k = 3)
  6. # 准备训练集,测试集
  7. train = c(1:30,51:80,101:130)
  8. test = setdiff(1:150, train)
  9. # 训练模型
  10. learner$train(task, row_ids = train)
  11. # 模型预测
  12. predictions = learner$predict(task, row_ids = test)
  13. predictions
  14. # 性能评估
  15. predictions$confusion                   # 混淆矩阵
  16. predictions$score(msr("classif.acc"))   # 准确率
复制代码


22222.jpg


附:R机器学习:mlr3verse技术手册免费下载



mlr3_eco.png

mlr3_eco.png (114.72 KB)

mlr3_eco.png

已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-24 19:27