knitr::opts_chunk$set(echo = TRUE)
EL SIGUIENTE ANALISIS CORRESPONDE A LA DETERMINACION DE LA PRUEBA SIMCE PARA DETERMINAR LA POSIBILIDAD DE APROBACION (ALCANZAR BUEN PUNTAJE), SEGUN ENCUESTA DE PERSEPCION REALIZADA A ESTUDIANTES Y PROMEDIO DE NOTAR EN ASIGNATUAS RELACIONADAS CON LA PRUEBA SIMCE.
LOS DATOS CORRESPONDEN A UN LICEO DE LA COMUNA DE TALCAHUANO
OBJETIVO: DETERMINAR SI EL MACHINE LEARNING ES UNA HERRAMIENTA UTIL PARA ALCANZAR LA RESPUESTA, CONTEMPLANDO LA INFORMACION DE LA BASE DE DATOS.
VARIABLE DEPENDIENTE
YY (BUEN PUNTAJE = 1, MAL PUNTAJE = 0)
VARIABLES INDEPENDIENTES
VARIABLES INDEPENDIENTES FACTORES
CURSO, SEXO, EDAD, T.LICEO
X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16
VARIABLES INDEPENDIENTES NUMERICAS
suma.X , P.MAT , P.LEN , P.HIS , P.GEN
_____________________________________________________________________________
INICIO DEL PREPROCESO DE DATO
IMPORTAR EL DATASET
dataset=read.csv2("../CSVcomas.csv")
dataset
ELIMINACION DE FILAS CON VALORES NA
PARA ESTE CASO ES LO IDEAL, YA QUE AL FINAL DE LA BASE DE DATOS SE OBSERVAN FILAS SIN INFORMACION PERO QUE ESTAN CONTENIDAS CON NA
dataset <- na.omit(dataset)
CODIFICAR O DEFINIR LA VARIABLE CATEGORICA (NO ORDINAL) Y VARIABLES NUMERICAS
CODIFICACION VARIABLES NUMERICAS
dataset$P.MAT <- as.numeric(as.character(dataset$P.MAT))
dataset$P.HIS <- as.numeric(as.character(dataset$P.HIS))
dataset$P.LEN <- as.numeric(as.character(dataset$P.LEN))
dataset$P.GEN <- as.numeric(as.character(dataset$P.GEN))
dataset$suma.X <- as.numeric(as.character(dataset$suma.X))
CODIFICACION VARIABLES CATEGORICAS
dataset$EDAD <- as.factor(as.character(dataset$EDAD))
dataset$T.LICEO <- as.factor(as.character(dataset$T.LICEO))
dataset$X1 <- as.factor(as.character(dataset$X1))
dataset$X2 <- as.factor(as.character(dataset$X2))
dataset$X3 <- as.factor(as.character(dataset$X3))
dataset$X4 <- as.factor(as.character(dataset$X4))
dataset$X5 <- as.factor(as.character(dataset$X5))
dataset$X6 <- as.factor(as.character(dataset$X6))
dataset$X7 <- as.factor(as.character(dataset$X7))
dataset$X8 <- as.factor(as.character(dataset$X8))
dataset$X9 <- as.factor(as.character(dataset$X9))
dataset$X10 <- as.factor(as.character(dataset$X10))
dataset$X11 <- as.factor(as.character(dataset$X11))
dataset$X12 <- as.factor(as.character(dataset$X12))
dataset$X13 <- as.factor(as.character(dataset$X13))
dataset$X14 <- as.factor(as.character(dataset$X14))
dataset$X15 <- as.factor(as.character(dataset$X15))
dataset$X16 <- as.factor(as.character(dataset$X16))
dataset$YY <- as.factor(as.character(dataset$YY))
DIVISION DE DATASET, EN ENTRENAMIENTO = 80% Y TEST = 20%
Se indicará un 80% para entrenar
true = el dato si forma parte del conjunto de entrenamiento
false = el dato no forma parte del conjunto de entrenamiento por lo tanto corresponde al test
#install.packages("caTools")
library(caTools)
set.seed(123) #semilla
split = sample.split(dataset$YY, SplitRatio = 0.8)
training_set=subset(dataset, split==TRUE) #CREACION DE DATASET CON VARIABLES ENTRENAMIENTO
testing_set=subset(dataset, split==FALSE) #CREACION DE DATASET CON VARIABLES TESTING
training_set
testing_set
ESCALADO DE DATOS
DISTANCIA DE EUCLIDES, SE UTILIZA CUANDO CUANDO EXISTEN DIFERENCIAS DE VALORES ENTRE DOS VARIABLES.
\[\sqrt{ \left( X2-X1 \right) ^ 2 + ( Y2-Y1 ) ^ 2}\]
AL EXISTIR DIFERENCIAS DE VALORES DEMASIADO GRANDES EN ALGUNOS CASO LA DISTANCIA DE EUCLIDES NO PRESTARIA UTILIDAD, YA QUE AL ELEVAR LOS NUMEROS GRANDES AL CUADRADO SEPARA AUN MAS LA DIFERENCIA DE VALORES. POR LO TANTO LA MEJOR SOLUCION ES ESCALAR LOS DATOS, ESTO ES LA NORMALIZACION DE DATOS PARA QUE AMBOS ESTEN DEFINIDOS EN EL MISMO RANGO DE VALORES. SE USARAN DOS CONCEPCTO, LA NORMALIZACION Y LA ESTANDARIZACION.
ESTANDARIZACION
TIENDE A GENERAR UNA CAMPANA DE GAUSS
\[Xstand = \frac{x-media(x)}{desviacion tipica (x)}\]
NORMALIZACION
TRANSFORMA EL CONJUNTO DE DATOS EN 0,1
\[Xnorm = \frac{x-min(x)}{max (x) - min (x)}\]
ESCALADO DE VALORES
DE ESTA FORMA, LOS DATOS DE ENTRENAMIENTO Y TEST, SE LIMPIAN MEDIANTE EL METODO DE ESTANDARIZACION, CORRESPONDIENTE A LAS MEDIAS
training_set[,22:26]=scale(training_set[,22:26])
testing_set[,22:26]=scale(testing_set[,22:26])
VISUALIZACION DE DATASET LIMPIO
View(dataset)
dataset
LAS SIGLAS DE LAS VARIABLES CORRESPONDEN A LOS SIGUIENTES TERMINO
CURSO = CURSO
SEXO = SEXO
EDAD = EDAD
T.LICEO = AÑOS EN EL LICEO
NO APLICA = RAZONAMIENTO LÓGICO AÑOS MESES
X1 = SIENTO QUE EN EN MI LICEO ME TRATAN CON RESPETO Y SE PREOCUPAN POR MI
X2 = SIENTO QUE EN MI LICEO HACEN LO POSIBLE POR EVITAR O RESOLVER LOS MALOS TRATOS, CONFLICTOS O PELEAS.
X3 = EN MI LICEO, SE DESTACAN LAS COSAS POSITIVAS TANTO DE MI CURSO COMO DEL RESTO DE LOS CURSOS DEL ESTABLECIMIENTO
X4 = EN MI LICEO, NOS INCENTIVAN Y NOS APOYAN EN LA REALIZACIÓN DE ACTIVIDADES CONSTRUCTIVAS, UNIDOS COMO CURSO.
X5 = EN CLASES, PROFESORES Y PROFESORAS NOS HACEN PARTICIPAR A TODOS Y TODAS POR IGUAL.
X6 = EN MI LICEO PROPONEN METAS EXIGENTES PERO QUE YO SOY CAPAZ DE LOGRAR.
X7 = MIS PROFESORES Y PROFESORAS ME GUÍAN PARA QUE YO PUEDA DESCUBRIR Y PROPONER LAS SOLUCIONES A LOS PROBLEMAS
X8 = CUANDO ME VA MAL EN UNA PRUEBA, EL PROFESOR O PROFESORA ME MOTIVA PARA SUPERARME.
X9 = CUANDO ESTOY TENIENDO DIFICULTADES EN MIS ESTUDIOS, MIS PROFESORES Y PROFESORAS ME OFRECEN OPCIONES O ESTRATEGIAS PARA PODER SUPERARLAS
X10 = CUANDO TENGO ALGÚN PROBLEMA O DIFICULTAD, SE PREOCUPAN PARA AYUDARME A ENCONTRAR LA FORMA DE SOLUCIONARLO
X11 = EN MI LICEO TENGO LA OPORTUNIDAD DE HACER ACTIVIDADES DEPORTIVAS, ARTÍSTICAS O CULTURALES QUE ME GUSTEN MUCHO.
X12 = PIENSO QUE EN MI LICEO PODRÍA REALIZAR O DESARROLLAR ALGO PARA LO QUE SOY MUY BUENO O BUENA O EN LO QUE ME SIENTO MUY CAPAZ.
X13 = LAS ACTIVIDADES QUE REALIZAN LOS PROFESORES Y PROFESORAS SON ATRACTIVAS PARA MÍ.
X14 = GENERALMENTE SIENTO QUE TENGO SUFICIENTE MOTIVACIÓN Y GANAS DE PARTICIPAR EN CLASES.
X15 = CREO QUE EN MI LICEO NOS OFRECEN APOYO DE ACUERDO A NUESTRAS DISTINTAS NECESIDADES.
X16 = EN MI LICEO HAY PERSONAS QUE ME PUEDEN APOYAR SI TENGO ALGÚN PROBLEMA PERSONAL.
suma.X = suma = 1
NO APLICA = % RESPUESTAS = 1
P.MAT = PROMEDIO NOTAS MATEMÁTICAS AÑO ANTERIOR
P.LEN = PROMEDIO NOTAS LENGUAJE AÑO ANTERIOR
P.HIS = PROMEDIO NOTAS HISTORIA AÑO ANTERIOR
P.GEN = PROMEDIO GENERAL AÑO ANTERIOR