Inicio › Foros › Etapa III – Ciencia de Datos › Problema con el código de la hoja de trabajo de clasificación binaria
Etiquetado: clasificación binaria, machine learning
- Este debate tiene 0 respuestas, 1 mensaje y ha sido actualizado por última vez el hace 3 años, 7 meses por
MIGUEL ANGEL GARCIA RODRIGUEZ.
-
AutorEntradas
-
24 febrero, 2020 a las 13:58 #6035
MIGUEL ANGEL GARCIA RODRIGUEZ
ModeradorHola Jordi,
como hablamos, te pego el código empleado en esta hoja de trabajo modificado por mí para tratar de solucionar unos errores que me salían con el código original. Solventado uno, me falta el otro, que me es imposible. Pego el código (lo que está en negrita es la parte que he añadido yo):
# load libraries
library(mlbench)
library(caret)
# Load data
data(BreastCancer)
validation_index <- createDataPartition(BreastCancer$Class, p=0.80, list=FALSE)
# select 20% of the data for validation
validation <- BreastCancer[-validation_index,]
# use the remaining 80% of data to training and testing the models
dataset <- BreastCancer[validation_index,]
# Remove redundant variable Id
dataset <- dataset[,-1]
# convert input values to numeric
for(i in 1:9) {
dataset[,i] <- as.numeric(as.character(dataset[,i]))
}
# summary
summary(dataset)## CALCULA EL ÁRBOL DE CLASIFICACIÓN CON LOS DATOS DE TRAINING
control <- trainControl(method=»repeatedcv», number=10, repeats=3)
metric <- «Accuracy»
fit.cart <- train(Class~., data=dataset, method=»rpart», metric=metric, preProc=c(«BoxCox»), trControl=control, na.action=na.omit)
# plot tree
library(rattle)
fancyRpartPlot(fit.cart $finalModel)## CALCULA LA MATRIZ DE CONFUSIÓN O RESUME EL ACCURACY
# Finalize
data(BreastCancer)
dataset <- BreastCancer
datasetNOmiss <- dataset[complete.cases(dataset),]
# Split out validation dataset
# create a list of 80% of the rows in the original dataset we can use for training
set.seed(7)
validation_index <- createDataPartition(BreastCancer$Class, p=0.80, list=FALSE)
# select 20% of the data for validation
validation <- BreastCancer[-validation_index,]
# use the remaining 80% of data to training and testing the models
dataset <- BreastCancer[validation_index,]
# make predictions
set.seed(7)
x <- datasetNOmiss[,2:10]
# convert input values to numeric
for(i in 1:9) {
x[,i] <- as.numeric(as.character(x[,i]))
}
preprocessParams <- preProcess(x, method=c(«BoxCox»))
# Remove redundant variable Id
validation <- validation[,-1]
# convert input values to numeric
for(i in 1:9) {
validation[,i] <- as.numeric(as.character(validation[,i]))
}
predictions <- predict(fit.cart, newdata=preProcess(validation, method=c(«BoxCox»)))
confusionMatrix(predictions, validation$Class) -
AutorEntradas
- Debes estar registrado para responder a este debate.