Métodos clasificación
Regresión Mínimos cuadrados minimizando la distancia entre dos grupos de variables Dependiente vs independiente (s) Múltiples variables
Regresión Puede ser usado para predicción
Arboles de decisión
Arboles de decisión Método usado en Data Mining Arboles de regresión Respuesta es continua Arboles de clasificación Respuesta es discreta Hojas son clases finales Ramas son reglas matemáticas de división (conjunciones)
Entropia Impuridad en entropia Objeto es minumiza ΔR
Coeficiente de GINI Indice de impuridad de GINI L(i,j) describe la perdida de
Comparacion de método GINI e Información
Ejemplotree.r #ejemplo de arbol de clasificación install.packages('rpart') library(rpart) progstat <- factor(stagec$pgstat, levels=0:1, labels=c("No", "Prog")) cfit <- rpart(progstat ~ age + eet + g2 + grade + gleason + ploidy, data=stagec, method='class') print(cfit) plot(cfit) text(cfit)
fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis) parms = list(prior = c(.65,.35), split = "information")) fit3 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis, control = rpart.control(cp = 0.05)) par(mfrow = c(1,2), xpd = NA) # otherwise on some devices the text is clipped plot(fit) text(fit, use.n = TRUE) plot(fit2) text(fit2, use.n = TRUE)
Arboles de decisión Variable está en valores discretos y valores continuos asociados Ej. Temperatura (grados) – temp (caliente, tibio,frio) Funcion es en valores discretos (clasificación) Disjunciones deben estar presentes Set de entrenamiento puede tener errores Set de entrenamiento puede tener datos faltantes
Support vector machines Desarrollados para clasificaciones binarias Yes/no Busca el hiperplano optimo que separa las categorias al maximizar las diferencias entre los puntos mas cercanos en diferentes clases
Support vector machines
Clasificacion de coberturas (modis)
Ejemplo en ejemplosvm.r install.packages('e1071') #el ejemplo se encuentra con ?svm library(e1071) data(iris) attach(iris) ## classification mode # default with factor response: model <- svm(Species ~ ., data = iris) # alternatively the traditional interface: x <- subset(iris, select = -Species) y <- Species model <- svm(x, y) print(model) summary(model)
pred <- predict(model, x) # (same as:) pred <- fitted(model) # Check accuracy: table(pred, y) # compute decision values and probabilities: pred <- predict(model, x, decision.values = TRUE) attr(pred, "decision.values")[1:4,] # visualize (classes by color, SV by crosses): plot(cmdscale(dist(iris[,-5])), col = as.integer(iris[,5]), pch = c("o","+")[1:150 %in% model$index + 1])