Esto para usar en algoritmos (como las redes neuronales) que aprenden mas rápido con datos binarizados.
NOTA: En algunas situaciones esto puede significar una perdida de información, para detalle sobre esto ver referencias 1 y 2.
Referencia 1. https://stats.stackexchange.com/questions/68834/what-is-the-benefit-of-breaking-up-a-continuous-predictor-variable 2. http://biostat.mc.vanderbilt.edu/wiki/Main/CatContinuous
NOTA: En algunas situaciones esto puede significar una perdida de información, para detalle sobre esto ver referencias 1 y 2.
Usando el data set iris, conceptualmente queda así:
# Identificar variables calse #---------------------------------------------------------- iris.bin <- subset(iris, select = Species) # Identificar variables a binarizar #---------------------------------------------------------- v.bin <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width") # binarizacion #----------------------------------------------------------- for (i in 1:length(v.bin) ){ v_x <- iris[,v.bin[i]] qnt <- unique(quantile(v_x,seq(0, 1, .25))) for ( ii in 1:(length(qnt)-1) ) { iris.bin$tmp <- ifelse (v_x > qnt[ii] & v_x <= qnt[ii+1], 1, 0) iris.bin$tmp <- ifelse (qnt[ii] == qnt[1] & v_x == qnt[ii], 1, iris.bin$tmp) names(iris.bin)[names(iris.bin)=="tmp"] <- paste(v.bin[i],"_disc_", ii, sep = "") } }
Hola Enmanuel, esta muy interesante pero la imagen que colocaste esta errónea si tienes chance revisala.
ResponderEliminarSaludos.