R:用 ml3 库绘制结果
R: plotting results with the ml3 library
我正在使用 R 编程语言。我正在尝试使用“mlr”库从以下 Whosebug post 中复制这些图:R: multiplot for plotLearnerPrediction ggplot objects of MLR firing errors in RStudio
(我也在这里使用这个网站: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)
谁能告诉我我作为用户制作的情节是否打算这样做?
谢谢
是的,它们是用户打算这样做的。要查看此内容,您可以 运行 对玩具数据执行相同的命令。由此,您将看到分类是正确的。唯一的问题是,在您的数据中,响应与预测变量完全无关,因此分类很糟糕(事实上,它似乎将所有内容都预测为“B”)。
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"))
我正在使用 R 编程语言。我正在尝试使用“mlr”库从以下 Whosebug post 中复制这些图:R: multiplot for plotLearnerPrediction ggplot objects of MLR firing errors in RStudio
(我也在这里使用这个网站: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)
谁能告诉我我作为用户制作的情节是否打算这样做?
谢谢
是的,它们是用户打算这样做的。要查看此内容,您可以 运行 对玩具数据执行相同的命令。由此,您将看到分类是正确的。唯一的问题是,在您的数据中,响应与预测变量完全无关,因此分类很糟糕(事实上,它似乎将所有内容都预测为“B”)。
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"))