问题描述
我想使用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并在此处打开问题。