当前位置: 首页 > 知识库问答 >
问题:

可变和随机森林的等级

长孙阳焱
2023-03-14

考虑一个数据集训练:

    z  a  
    1  1  
    0  2  
    0  1
    1  3
    0  1
    1  2
    1  1
    0  3
    0  1
    1  3

二元结果变量z和三个水平的分类预测因子a:1、2、3。

现在考虑一个数据集测试:

   z  a
      1
      1
      2
      1
      2
      2
      1

当我运行以下代码时:

library(randomForest)
set.seed(825)
RFfit1 <- randomForest(z~a, data=train, importance=TRUE, ntree=2000)
RFprediction1 <- predict(RFfit1, test)

我收到以下错误消息:

Error in predict.randomForest(RFfit1, test1) : 
  Type of predictors in new data do not match that of the training data.

我假设这是因为测试数据集中的变量a没有三个级别。我该如何解决这个问题?

共有1个答案

容磊
2023-03-14

你必须把它和火车的等级一样

 test$a <- factor(test$a, levels=levels(train$a))
 类似资料:
  • 我有一个随机森林,目前建立在100个不同的变量之上。我希望能够只选择“最重要”的变量来构建我的随机森林,以尝试提高性能,但我不知道从哪里开始,除了从rf$重要性中获得重要性。 我的数据只是由数字变量组成,这些变量都经过了缩放。 以下是我的射频代码:

  • 本文向大家介绍随机森林和 GBDT 的区别?相关面试题,主要包含被问及随机森林和 GBDT 的区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)随机森林采用的bagging思想,而GBDT采用的boosting思想。这两种方法都是Bootstrap思想的应用,Bootstrap是一种有放回的抽样方法思想。虽然都是有放回的抽样,但二者的区别在于:Bagging采用有放回的均匀取样,而

  • 参考文献:http://www.zilhua.com/629.html http://www.tuicool.com/articles/JvMJve http://blog.sina.com.cn/s/blog_573085f70101ivj5.html 我的数据挖掘算法:https://github.com/linyiqun/DataMiningAlgorithm 我的算法库:https://g

  • 随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法,尤其是它可以很方便的并行训练,在如今大数据大样本的的时代很有诱惑力。 1. bagging的原理 在集成学习原理小结中,我们给Bagging画了下面一张原理图。 从上图可以看出,Bagging的弱学习器之间的确没有boosting那样的联系。它的特点在“随机采样”。那么什么是随机采样? 随机采样(bootsrap)就是从我们的训练集里面采

  • 在随机森林方法中,创建了大量决策树。 每个观察都被送入每个决策树。 每次观察的最常见结果用作最终输出。 一个新的观察结果被输入所有树木,并对每个分类模型进行多数投票。 对构建树时未使用的情况进行错误估计。 这称为OOB (Out-of-bag)错误估计,以百分比形式提及。 R包"randomForest"用于创建随机森林。 安装R包 在R控制台中使用以下命令安装程序包。 您还必须安装依赖包(如果有

  • 我正在尝试创建一个动态ML应用程序,允许用户上传一个数据集,以使用随机林模型预测数据集中的第一列。 我在使用randomforest()函数时遇到了问题,特别是当我试图将响应变量指定为数据集的第一列时。对于下面的示例,我使用iris数据集,并将响应变量Species移动到第一列中。 这是我的尝试: 然而,这不起作用。我得到的错误是: 错误:可变长度不同(针对“物种”找到) 只有当我像这样手动指定响