r - R mlr3 TaskClassif 'termlabels' 必须是长度至少为 1 的字符向量
问题描述
我将 mlr3 用于简单的分类模型。但是我遇到了 mlr3 可以访问的几种不同模型的错误。在这里,我提供一个代表来说明问题:
library(data.table)
library(mlr3extralearners)
library(mlr3)
library(mlr3learners)
library(mlr3tuning)
library(mlr3pipelines)
library(mlr3filters)
#Make example data
DT = data.table(target = c(0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),pred = c(0.05767878,0.05761652,0.06508700,0.06531820,0.07050699,0.07098812,0.07150984,0.07845767,0.07891081,0.07873572,0.08035471,0.08039300,0.08040480,0.08040480,0.08472619,0.08489135,0.08517742,0.08612768,0.08728675,0.08790671,0.08913434,0.08911522,0.09036788,0.09147726,0.09154964,0.09236259,0.09299088,0.09499589,0.09748171,0.09756818,0.09756818,0.09861013,0.10193147,0.10211796,0.10277547,0.10379659,0.10393602,0.10397469,0.10364373,0.10368016,0.10362235,0.10387504,0.10385431,0.10387288,0.10423139,0.10483475,0.10570517,0.10573617,0.10569312,0.10572714,0.10597040,0.10573924,0.10551367,0.10573499,0.10602269,0.10765947,0.10721005,0.10703524,0.10824609,0.10933141,0.10936178,0.10957693,0.10874663,0.10875077))
DT[, target := as.factor(target)] #Target Variable as factor is required
task <- TaskClassif$new(id='pizza', backend = DT, target = "target", positive = '1')
#Select an algo and a filter
randF = lrn("classif.randomForest", predict_type = "prob")#
filter1 = mlr_pipeops$get("filter", filter = mlr3filters::FilterVariance$new(),param_vals = list(filter.cutoff = 0.05))
#Construct a simple graph
graph = filter1 %>>%
PipeOpLearner$new(lrn("classif.randomForest"), id = "randF")
#graph$plot()
#Construct a learner and train it
learner = GraphLearner$new(graph)
learner$train(task)
这给出了错误:'重新制定错误(属性(条款)$ term.labels):'termlabels'必须是长度至少为一个的字符向量'
我的印象是,mlr3 的任务对象不知何故无法与图形很好地交互。然后错误来自 randomForest 分类器,但对我来说,数据似乎没有正确移交给它。但这只是我的一个理论。如果它不够清楚,我可能会改变这个问题。
解决方案
您的过滤器正在删除唯一的功能,如果只有一个功能,则不需要功能过滤。
推荐阅读
- php - hCaptcha:即使我在 Ubuntu 主机文件中添加了本地 DN,也会出现 CORS 错误
- macos - 从 mac 访问时,packagist.org 上的 SSL 证书无效
- python - Pytorch 得到 RuntimeError: Found dtype Double 但预期 Float
- c# - 使用字符串属性名称创建 where x = value lambda 表达式
- optimization - “SEND+MORE=MONEY”任务的 pyomo 模型约束编程
- .net - 使用 dnlib 重写后,局部变量类型的某些元数据标记无效
- spring - 如何使 spring AntPathMatcher 匹配可选的父目录?
- haskell - 在 Haskell 中调度联合类型
- reactjs - 为什么我总是需要使用 Zusand(React-Redux 状态管理工具) Store 返回一些 html?
- javascript - pagination.js 多个分页