【问题标题】:Decision trees in R, predicting one choiceR中的决策树,预测一个选择
【发布时间】:2017-08-22 05:37:21
【问题描述】:

我正在使用 R 中的决策树上的虹膜数据集编写教程。这是我的基本教程代码。

library(rpart)
install.packages('rpart.plot')
library(rpart.plot)

s = sample(150,100)

iris_train = iris[s,]
iris_test = iris[-s,]

dtm = rpart(Species~.,iris_train, method="class")

rpart.plot(dtm, type=4, extra=101)

p = predict(dtm,iris_test,type="class")
table(iris_test[,5],p)

表格行给了我:

                 setosa versicolor virginica
    setosa         12          0         0
    versicolor      0         18         0
    virginica       0          3        17

如果我只对 Virginica 的预测感兴趣,我会怎么做?是否有可能合并其余的值,以便我得到 Virginica vs Versicolor + Setosa 的二元分类?

【问题讨论】:

  • 您可以创建一个新的Species 变量,其中有一个virginica 的类别和一个versicolorsetosa 的类别。然后您可以使用新的Species 变量重新进行分析。
  • 一个简单的ifelse 语句将在一行中为您完成此操作

标签: r dataset classification


【解决方案1】:

你可以做你想做的事

library(rpart)
install.packages('rpart.plot')
library(rpart.plot)

s = sample(150,100)
class <- which(iris$Species %in% c("versicolor","setosa")) 

####################################
new_species = rep("virginica",nrow(iris))

new_species[class] <- "vers_seto"

iris$new_species <- new_species
####################################
iris_train = iris[s,-5]    # -5 Delete the old column Species (column number 5) 


iris_test = iris[-s,-5]



dtm = rpart(new_species~.,iris_train, method="class")

rpart.plot(dtm, type=4, extra=101)

p = predict(dtm,iris_test,type="class")
table(iris_test[,5],p)

【讨论】:

    猜你喜欢
    • 2013-12-21
    • 1970-01-01
    • 2018-10-02
    • 2016-07-12
    • 2017-04-11
    • 1970-01-01
    • 2020-08-11
    • 2018-06-29
    • 2013-07-11
    相关资源
    最近更新 更多