首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有些“列车”列在“测试”中不存在

有些“列车”列在“测试”中不存在
EN

Stack Overflow用户
提问于 2016-10-09 12:01:11
回答 1查看 342关注 0票数 0

所有人。

我有个问题。我必须使用LOO实现R上的kNN分类。我找到了“小猫”和“厕所”的包裹。我写了代码(没有厕所):

代码语言:javascript
复制
library(knncat)
x <- c(1, 2, 3, 4)
y <- c(5, 6, 7, 8)
train <- data.frame(x, y)
x1 <- c(9, 10, 11, 12)
y1 <- c(13, 14, 15, 16)
test <- data.frame(x1, y1)
answer <- knncat(train, test, classcol = 2)

我有一个错误“一些”“列车”列没有出现在“测试”。我不明白,我做错什么了?如何纠正此错误?

如果我的英语有什么问题,对不起,我来自俄罗斯:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-09 13:00:53

嗯,您的方法和knncat有一些问题

  1. 您必须为traintest数据集指定类标签,并相应地设置classcol
  2. 只有出现在火车上的类标签才能在测试中出现。
  3. 列车和测试的列名必须相同,否则knncat会抛出您提到的错误:"Some "train" columns aren't present in "test"
  4. 此外,如果您使用整数值作为类标签,它们必须从0开始,否则knncat会抛出错误:"Number in class 0 is 0! Abort!"

下面是一个有用的例子:

代码语言:javascript
复制
train <- data.frame(x1=1:4, x2=5:8, y=c(0, 0, 1, 1))
test <- data.frame(x1=9:12, x2=13:16, y=c(1, 0, 0, 1))
knncat(train, test, classcol = 3)

其结果是:

代码语言:javascript
复制
Test set misclass rate: 50%
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39943370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档