This is my script for a decision tree in R:
library(caret)
library(rpart.plot)
library(plyr)
library(dplyr)
data("iris")
names(iris) = tolower(names(iris))
table(iris$species)
suppressMessages(library(caret))
index = createDataPartition(y=iris$species, p=0.7, list=FALSE)
train = iris[index,]
test = iris[-index,]
trainctrl <- trainControl(method = "cv", number = 5, verboseIter = FALSE)
dt.model <- train(species~., data=train, method = "rpart",
tuneLength = 10,
preProcess = c("center", "scale"),
trControl = trainctrl,
metric="Kappa")
dt.predict <-predict(dt.model, test)
confusionMatrix(dt.predict, test$species)
How can I make the tree drawing with nodes?
Gus
2
rpart.plot(dt.model$finalModel)
But I have this error:
Error in plot.new() : figure margins too large
is there another way to know which characteristics the model considers more important?
Gus
5
You can use caret varImp
function to get variables importance.
Anyway the following code runs smoothly on my PC
library(caret)
library(rpart.plot)
library(plyr)
library(dplyr)
data("iris")
names(iris) = tolower(names(iris))
table(iris$species)
# suppressMessages(library(caret))
index = createDataPartition(y=iris$species, p=0.7, list=FALSE)
train = iris[index,]
test = iris[-index,]
trainctrl <- trainControl(method = "cv", number = 5, verboseIter = FALSE)
dt.model <- train(species~., data=train, method = "rpart",
tuneLength = 11,
preProcess = c("center", "scale"),
trControl = trainctrl,
metric="Kappa")
dt.predict <-predict(dt.model, test)
dt.model
confusionMatrix(dt.predict, test$species)
rpart.plot(dt.model$finalModel)
varImp(dt.model)
Ok, now works thanks!
What is the meaning of Overall
in this table?
> varImp(dt.model)
rpart variable importance
Overall
petal.length 100.00
petal.width 100.00
sepal.length 37.59
sepal.width 0.00
Gus
7
1 Like
system
Closed
8
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
If you have a query related to it or one of the replies, start a new topic and refer back with a link.