在mlr3中创建学习者:sprintfmsg,...中的错误:参数太少

问题描述

我想使用distRforest软件包在mlr3中创建一个学习器。

我的代码

library(mlr3extralearners)

create_learner( pkg = ".",classname = 'distRforest',algorithm = 'regression tree',type = 'regr',key = 'distRforest',package = 'distRforest',caller = 'rpart',feature_types = c("logical","integer","numeric","factor","ordered"),predict_types = c('response'),properties = c("importance","missings","multiclass","selected_features","twoclass","weights"),references = FALSE,gh_name = 'CL'

)

出现以下错误:sprintf(msg,...)错误:参数太少

实际上,复制教程https://mlr3book.mlr-org.com/extending-learners.html中的代码会引发相同的错误

有什么想法吗?非常感谢-c

解决方法

感谢您对扩展mlr3宇宙的兴趣! 几件事情,首先,这本书中的示例对我而言很好,其次,您的示例无法正常工作,因为您为classif学习者提供了regr属性。由于我无法重现您的错误,因此我很难调试出了什么问题,如果可以运行以下命令,将会很有帮助:

reprex::reprex({
  create_learner(
    pkg = ".",classname = "Rpart",algorithm = "decision tree",type = "classif",key = "rpartddf",package = "rpart",caller = "rpart",feature_types = c("logical","integer","numeric","factor","ordered"),predict_types = c("response","prob"),properties = c("importance","missings","multiclass","selected_features","twoclass","weights"),references = TRUE,gh_name = "CL"
  )
},si = TRUE)

如果仍然出现错误,并且输出内容太长而无法在此处打印,请转到GitHub并在此处打开问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...