【问题标题】:Error in varimp (R party package) when conditional = TRUE条件 = TRUE 时 varimp(R 方包)中的错误
【发布时间】:2016-03-04 01:58:42
【问题描述】:

我正在尝试计算使用party 包中的cforest 函数构建的随机森林的变量重要性。我想在条件设置为TRUE 的情况下运行 varimp,但这样做时会收到一条错误消息。错误如下:

if (node[[5]][1] == variableID) cp

使用默认设置 conditional = FALSE 运行的 Varimp 运行良好。

关于数据集,所有变量都是分类的。响应变量是 Glottal(是/否),并且有七个预测变量。这是数据的link,这是我正在使用的代码:

library(party)

glottal.df <-read.csv("~glottal_data.csv", header=T)

glottal.df$Instance <- factor(glottal.df$Instance)

data.controls <- cforest_unbiased(ntree = 500, mtry = 2)
set.seed(45)

glottal.cf <- cforest(Glottal ~ Stress + Boundary + Context + Instance + Region + Target + Speaker, data = glottal.df, controls = data.controls)

# this gives me an error
glottal.cf.varimp.true <- varimp(glottal.cf, conditional = TRUE)

# this works
glottal.cf.varimp.false <- varimp(glottal.cf)

谁能告诉我为什么会出现这个错误?任何特定变量都不是问题,因为即使我删除变量、创建新森林并尝试重新计算 varimp 并且数据集中没有缺失值,问题仍然存在。非常感谢您的帮助!

【问题讨论】:

    标签: r party


    【解决方案1】:

    似乎正在与 1.2.4 方合作:

    
    > glottal.cf.varimp.true
           Stress      Boundary       Context
     0.0003412322  0.2405971564  0.0122369668
         Instance        Region        Target
    -0.0043507109  0.0044360190 -0.0011469194
          Speaker
     0.0384834123
    > packageVersion('party')
    [1] ‘1.2.4’
    > R.version
                   _
    platform       x86_64-pc-linux-gnu
    arch           x86_64
    os             linux-gnu
    system         x86_64, linux-gnu
    status
    major          3
    minor          4.3
    year           2017
    month          11
    day            30
    svn rev        73796
    language       R
    version.string R version 3.4.3 (2017-11-30)
    nickname       Kite-Eating Tree
    
    

    【讨论】:

    • 虽然此代码 sn-p 可能是解决方案,但 including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    • 虽然我理解并同意这种观点,但这是一个 2 年前的问题,答案为零。我来到这里想知道这是否仍然是一个问题。它不是。对于“我为什么会收到此错误”的实际 答案很可能是旧版本软件包中的软件错误。不幸的是,问题作者没有提供足够的信息来重现问题(我试过)。是的,有人可以合理地争辩说我的回答应该是评论。或者,我的回答确实回答了这个问题:“您收到此错误是因为您使用的是旧版本的软件包”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2018-08-09
    • 2021-05-29
    • 1970-01-01
    • 2015-08-25
    • 2012-04-06
    • 1970-01-01
    相关资源
    最近更新 更多