我想使用偏最小二乘判别分析 (PLS-DA) 来解决要预测多个类的分类问题。我知道 PLS-DA 不限于两个类问题,我相信使用 Caret 包中的 plsda 可以处理这个问题,但是当我尝试在 mlr 包中构建 PLS-DA 模型时,我得到一个错误提示我的任务是“多类问题,但学习者 'classif.plsdaCaret' 不支持!”
是否可以使用 mlr 构建多类 PLS-DA 模型,我只是使用了错误的学习器吗?这是一个可重现的示例:
# LOAD PACKAGES ----
#install.packages("BiocManager")
#BiocManager::install("mixOmics")
library(mlr)
library(tidyverse)
library(mixOmics)
# LOAD IN DATA ----
data(liver.toxicity)
liverTib <- as.tibble(cbind(liver.toxicity$treatment$Treatment.Group,
liver.toxicity$gene)
)
names(liverTib)[1] <- "Treatment"
liverTib
# MAKE TASK, LEARNER AND ATTEMPT TO BULD MODEL
liverTask <- makeClassifTask(data = liverTib, target = "Treatment")
plsda <- makeLearner("classif.plsdaCaret")
liverModel <- train(plsda, liverTask)