2017-03-28 18 views
0

Rの決定木に関する虹彩データセットのチュートリアルをしています。これは私の基本チュートリアルのコードです。1つの選択肢を予測する、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) 

テーブルの行は、私を与える:私だけvirginicaの予測にinteresttedていた場合

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

は、どのように私は行くでしょうか?残りの部分の値をマージして、Virginica vs Versicolor + Setosaのバイナリ分類を取得する可能性はありますか?

+2

ようにやりたいことができます。次に、新しい 'Species'変数を使って分析をやり直すことができます。 – 67342343

+0

単純な 'ifelse'文がこれを1行で行います – jwells

答えて

0

あなたはあなたが `virginica`と` versicolor`と `setosa`両方のカテゴリのカテゴリを持っている新しい` Species`変数を作成することができ、その

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) 
関連する問題