R:使用ml3库绘制结果



我正在使用R编程语言。我正试图使用"mlr"复制以下stackoverflow帖子中的情节。库:R: multiplot for plotLearnerPrediction在RStudio中MLR触发错误的ggplot对象

(我也在这里使用这个网站:https://www.analyticsvidhya.com/blog/2016/08/practicing-machine-learning-techniques-in-r-with-mlr-package/)

首先,我为这个练习创建了数据(响应变量)。是响应,所有其他变量都是预测因子)

#load libraries
library(mlr)
library(girdExtra)
library(ggplot2)
library(rpart)

#create data

a = rnorm(1000, 10, 10)
b = rnorm(1000, 10, 5)
c = rnorm(1000, 5, 10)
d <- sample( LETTERS[1:3], 1000, replace=TRUE, prob=c(0.2, 0.6, 0.2) )
response_variable <- sample( LETTERS[1:2], 1000, replace=TRUE, prob=c(0.3, 0.7) )

data <- data.frame(a, b, c, d, response_variable)
data$d = as.factor(data$d)
data$response_variable = as.factor(data$response_variable)

从这里开始,我试着跟着";mlr"教程的一部分(仅包含"决策树")随机森林;算法):

task <- makeClassifTask(data = data, target = "response_variable")
learners = list( 
"classif.randomForest", 
"classif.rpart" )
p1<-plotLearnerPrediction(learner = learners[[1]], task = task)
p2<-plotLearnerPrediction(learner = learners[[2]], task = task)

有人能告诉我,如果我已经生产的情节作为用户是打算这样做吗?

感谢

是的,它们是用户想要这样做的。要查看这一点,您可以在玩具数据上运行相同的命令。由此,您将看到分类是正确的。唯一的问题是,在你的数据中,响应与预测器完全没有关系,所以分类很糟糕(事实上,它似乎将所有事情都预测为& & & &;)。

a = rnorm(100, 10, 10)
b = rnorm(100, 10, 5)
data <- data.frame(a, b)
library(dplyr)
data=mutate(data, response_variable=ifelse(a>mean(a) | b<mean(b), "A", "B"))

最新更新