Jose Luis Te recomiendo que uses el paquete data.table
El 10 de julio de 2016, 4:53, <[email protected]> escribió: > Envíe los mensajes para la lista R-help-es a > [email protected] > > Para subscribirse o anular su subscripción a través de la WEB > https://stat.ethz.ch/mailman/listinfo/r-help-es > > O por correo electrónico, enviando un mensaje con el texto "help" en > el asunto (subject) o en el cuerpo a: > [email protected] > > Puede contactar con el responsable de la lista escribiendo a: > [email protected] > > Si responde a algún contenido de este mensaje, por favor, edite la > linea del asunto (subject) para que el texto sea mas especifico que: > "Re: Contents of R-help-es digest...". Además, por favor, incluya en > la respuesta sólo aquellas partes del mensaje a las que está > respondiendo. > > Asuntos del día: > > 1. Re: Red Neuronal complicada categorías (Javier Marcuzzi) > 2. Re: Red Neuronal complicada categorías (Carlos Ortega) > 3. Cruce Tablas (jose luis) > > > ---------- Mensaje reenviado ---------- > From: Javier Marcuzzi <[email protected]> > To: "[email protected]" <[email protected]> > Cc: > Date: Sat, 9 Jul 2016 16:58:24 -0300 > Subject: Re: [R-es] Red Neuronal complicada categorías > > Estimados > > > > Adjunto un archivo de texto separado por comas, muy simple como ejemplo, > luego el siguiente código explicaría el problema. Si ejecutan el código se > entenderá, creo. > > > > x <- read.csv("~/R/neuronal/x.csv", header=FALSE, sep=";") > > V1Binario <- model.matrix(~ factor(x$V1) - 1) > > # -1 no coloca como interceto, deja x$V1 sin nada, son los que no tienen > nada (nada, puerta, porton) > > V1Binario > > V2Binario <- model.matrix(~ factor(x$V2) - 1) > > V3Binario <- model.matrix(~ factor(x$V3) - 1) > > V4Binario <- model.matrix(~ factor(x$V4) - 1) > > V5Binario <- model.matrix(~ factor(x$V5) - 1) > > V6Binario <- model.matrix(~ factor(x$V6) - 1) > > > > x <- cbind(x,V1Binario) > > x <- cbind(x,V2Binario) > > x <- cbind(x,V3Binario) > > x <- cbind(x,V4Binario) > > x <- cbind(x,V5Binario) > > x <- cbind(x,V6Binario) > > > > nn <- > neuralnet(V6Binario~V1Binario+V2Binario+V3Binario+V4Binario+V5Binario, x, > hidden=2, rep=5) > > #claro no funciona > > #porque si miro los datos con x > > x > > # puedo ver que la cantidad de "columnas" se incrementa por cada factor > pasado a binario > > # ¿Alguna idea? > > > > > > Javier Rubén Marcuzzi > > > > *De: *Javier Marcuzzi <[email protected]> > *Enviado: *jueves, 7 de julio de 2016 10:51 > *Para: *[email protected] > *Asunto: *Red Neuronal complicada categorías > > > > Estimados > > Les consulto por redes neuronales, hay diversos artículos como los > siguientes (el último tienen un error actualmente). Pero mi pregunta va un > poco por otro lado. > > http://www.r-bloggers.com/build-your-own-neural-network-classifier-in-r/ > > http://www.r-bloggers.com/classification-using-neural-net-in-r/ > > Básicamente se puede calcular un valor, por ejemplo doblar 2,4 grados a la > derecha, luego 1 grado a la izquierda, y de esa forma conducir un auto, > donde no importa el valor exacto porque siempre se puede corregir (muchas > actualizaciones producen el resultado). > > Otros casos donde se realiza la predicción, como las redes neuronales solo > tienen números, la configuración (normalización) para categorías puede ser > (0,0,0), (0,1,0), (1,0,0), (1,1,1), donde el significado no normalizado es: > nada, techo, pieza, pileta, …, objetos de una casa. > > La red neuronal no produce 0,0,1 como resultado, este podría ser 0, > 0,00009, 0,999998. > > Yo puedo decir a R que como 0,00009 y 0,999998 están próximos a 0 y 1 > estos vales 0 y 1, trasladando el resultado a 0,0,1 que significa una > categoría (palabra de objeto de la casa). > > Hasta ahí todo correcto, puedo predecir la categoría. > > Pero ¿Qué pasa si estas categorías son la presencia de objetos de la casa > para clasificar la casa? > > Quiero decir, techo, pieza es casa común. > > Otro es techo, pieza, pileta es casa grande. > > Pero otro usuario solo ingresa pieza y pileta (supone que hay techo) y > también es casa grande. > > En el primer caso tengo dos tripletes (0,0,0 techo y 0,0,1 pieza) > > En el segundo caso tres tripletes porque hay tres objetos. > > En el tercero solo tiene dos tripletes, suponiendo la existencia de techo > en una casa. > > En un ejemplo como este donde hay tres objetos de casa, podría entrenarla > sin problemas porque hay unas 9 posibilidades de combinaciones de objetos. > > Pero si la cantidad de objetos es tan alta que no puedo ingresar todas las > combinaciones posibles ¿Cómo puedo escribir el modelo en R? ¿Es posible, o > con redes neuronales puedo llegar a determinar que letra es – > reconocimiento de caracteres (patrón x e y con presencia o ausencia de > color, encontrando grupos de píxeles vecinos pintados), pero no tantas > presencias o ausencias? > > > > ¿Alguien tiene un ejemplo donde muchas categorías (objetos) determinan a > que categoría pertenece? Algo como el ejemplo que está en todos lados donde > iris, setosa, …, pero en lugar de tener números hay datos categóricos, pero > presencia o ausencia de tal o cuál dato. > > > > En otras palabras algo como > > “0,0,1””0,0,0””1,0,1” -> grande > > “0,0,1””0,0,0””1,1,1” -> grande > > "0,0,0””1,0,1” -> grande > > “1,1,1””0,0,1” -> chico > > Pero sin poder escribir todas las combinaciones de tripletes posibles. > > > > > > > > Javier Rubén Marcuzzi > > > > > > > ---------- Mensaje reenviado ---------- > From: Carlos Ortega <[email protected]> > To: Javier Marcuzzi <[email protected]> > Cc: "[email protected]" <[email protected]> > Date: Sat, 9 Jul 2016 23:44:33 +0200 > Subject: Re: [R-es] Red Neuronal complicada categorías > Hola, > > Esta es una forma de hacerlo... > > Mira que lo primero que he modificado es el fichero "x.csv" para sustituir > los espacios en los nombres por "_". Y también he quitado los acentos y las > eñes... > > He utilizado el paquete RNNS y la función "mlp()" para ajustar la red. > > #------------------------------------------- > > x <- read.csv("x.csv", header=FALSE, sep=";") > > x > V1 V2 V3 V4 V5 V6 > 1 puerta ventana techo comedor pileta casa_grande > 2 puerta ventana techo comedor casa_comun > 3 puerta ventana techo casa_pequena > 4 ventana techo pileta casa_grande > 5 pileta casa_grande > 6 puerta techo comedor casa_comun > 7 techo casa_pequena > 8 porton ventana techo cocina pileta casa_grande > > > #------------------------------------------- > > > V1Binario <- model.matrix(~ factor(x$V1) - 1) > V2Binario <- model.matrix(~ factor(x$V2) - 1) > V3Binario <- model.matrix(~ factor(x$V3) - 1) > V4Binario <- model.matrix(~ factor(x$V4) - 1) > V5Binario <- model.matrix(~ factor(x$V5) - 1) > V6Binario <- model.matrix(~ factor(x$V6) - 1) > > x_new <- cbind(V1Binario,V2Binario) > x_new <- cbind(x_new,V3Binario) > x_new <- cbind(x_new,V4Binario) > x_new <- cbind(x_new,V5Binario) > > nam_ori <- colnames(x_new) > col_nam <- paste("V", 1:ncol(x_new), sep = "") > colnames(x_new) <- col_nam > > library(RSNNS) > > xValues <- x_new > xTargets <- x[, 6] > xTargetsDecoded <- decodeClassLabels(xTargets) > x_nn <- splitForTrainingAndTest(xValues, xTargetsDecoded, ratio=0.15) > > set.seed(432) > model <- mlp(x_nn$inputsTrain, x_nn$targetsTrain, > size=3, learnFuncParams=c(0.1), maxit=10, > inputsTest=x_nn$inputsTest, targetsTest=x_nn$targetsTest) > > summary(model) > > #------------------------------------------- > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 9 de julio de 2016, 21:58, Javier Marcuzzi < > [email protected]> escribió: > > > Estimados > > > > > > > > Adjunto un archivo de texto separado por comas, muy simple como ejemplo, > > luego el siguiente código explicaría el problema. Si ejecutan el código > se > > entenderá, creo. > > > > > > > > x <- read.csv("~/R/neuronal/x.csv", header=FALSE, sep=";") > > > > V1Binario <- model.matrix(~ factor(x$V1) - 1) > > > > # -1 no coloca como interceto, deja x$V1 sin nada, son los que no tienen > > nada (nada, puerta, porton) > > > > V1Binario > > > > V2Binario <- model.matrix(~ factor(x$V2) - 1) > > > > V3Binario <- model.matrix(~ factor(x$V3) - 1) > > > > V4Binario <- model.matrix(~ factor(x$V4) - 1) > > > > V5Binario <- model.matrix(~ factor(x$V5) - 1) > > > > V6Binario <- model.matrix(~ factor(x$V6) - 1) > > > > > > > > x <- cbind(x,V1Binario) > > > > x <- cbind(x,V2Binario) > > > > x <- cbind(x,V3Binario) > > > > x <- cbind(x,V4Binario) > > > > x <- cbind(x,V5Binario) > > > > x <- cbind(x,V6Binario) > > > > > > > > nn <- > > neuralnet(V6Binario~V1Binario+V2Binario+V3Binario+V4Binario+V5Binario, x, > > hidden=2, rep=5) > > > > #claro no funciona > > > > #porque si miro los datos con x > > > > x > > > > # puedo ver que la cantidad de "columnas" se incrementa por cada factor > > pasado a binario > > > > # ¿Alguna idea? > > > > > > > > > > > > Javier Rubén Marcuzzi > > > > > > > > *De: *Javier Marcuzzi <[email protected]> > > *Enviado: *jueves, 7 de julio de 2016 10:51 > > *Para: *[email protected] > > *Asunto: *Red Neuronal complicada categorías > > > > > > > > Estimados > > > > Les consulto por redes neuronales, hay diversos artículos como los > > siguientes (el último tienen un error actualmente). Pero mi pregunta va > un > > poco por otro lado. > > > > http://www.r-bloggers.com/build-your-own-neural-network-classifier-in-r/ > > > > http://www.r-bloggers.com/classification-using-neural-net-in-r/ > > > > Básicamente se puede calcular un valor, por ejemplo doblar 2,4 grados a > la > > derecha, luego 1 grado a la izquierda, y de esa forma conducir un auto, > > donde no importa el valor exacto porque siempre se puede corregir (muchas > > actualizaciones producen el resultado). > > > > Otros casos donde se realiza la predicción, como las redes neuronales > solo > > tienen números, la configuración (normalización) para categorías puede > ser > > (0,0,0), (0,1,0), (1,0,0), (1,1,1), donde el significado no normalizado > es: > > nada, techo, pieza, pileta, …, objetos de una casa. > > > > La red neuronal no produce 0,0,1 como resultado, este podría ser 0, > > 0,00009, 0,999998. > > > > Yo puedo decir a R que como 0,00009 y 0,999998 están próximos a 0 y 1 > > estos vales 0 y 1, trasladando el resultado a 0,0,1 que significa una > > categoría (palabra de objeto de la casa). > > > > Hasta ahí todo correcto, puedo predecir la categoría. > > > > Pero ¿Qué pasa si estas categorías son la presencia de objetos de la casa > > para clasificar la casa? > > > > Quiero decir, techo, pieza es casa común. > > > > Otro es techo, pieza, pileta es casa grande. > > > > Pero otro usuario solo ingresa pieza y pileta (supone que hay techo) y > > también es casa grande. > > > > En el primer caso tengo dos tripletes (0,0,0 techo y 0,0,1 pieza) > > > > En el segundo caso tres tripletes porque hay tres objetos. > > > > En el tercero solo tiene dos tripletes, suponiendo la existencia de techo > > en una casa. > > > > En un ejemplo como este donde hay tres objetos de casa, podría entrenarla > > sin problemas porque hay unas 9 posibilidades de combinaciones de > objetos. > > > > Pero si la cantidad de objetos es tan alta que no puedo ingresar todas > las > > combinaciones posibles ¿Cómo puedo escribir el modelo en R? ¿Es posible, > o > > con redes neuronales puedo llegar a determinar que letra es – > > reconocimiento de caracteres (patrón x e y con presencia o ausencia de > > color, encontrando grupos de píxeles vecinos pintados), pero no tantas > > presencias o ausencias? > > > > > > > > ¿Alguien tiene un ejemplo donde muchas categorías (objetos) determinan a > > que categoría pertenece? Algo como el ejemplo que está en todos lados > donde > > iris, setosa, …, pero en lugar de tener números hay datos categóricos, > pero > > presencia o ausencia de tal o cuál dato. > > > > > > > > En otras palabras algo como > > > > “0,0,1””0,0,0””1,0,1” -> grande > > > > “0,0,1””0,0,0””1,1,1” -> grande > > > > "0,0,0””1,0,1” -> grande > > > > “1,1,1””0,0,1” -> chico > > > > Pero sin poder escribir todas las combinaciones de tripletes posibles. > > > > > > > > > > > > > > > > Javier Rubén Marcuzzi > > > > > > > > > > > > _______________________________________________ > > R-help-es mailing list > > [email protected] > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > > [[alternative HTML version deleted]] > > > > > ---------- Mensaje reenviado ---------- > From: jose luis <[email protected]> > To: R-help-es <[email protected]> > Cc: > Date: Sun, 10 Jul 2016 09:50:42 +0000 > Subject: [R-es] Cruce Tablas > Hola a todos. > Tengo estas dos tablas de aqui (tabla1 y tabla2 la de abajo) aunque estan > sin datos > > > > FECHA ALQUILER FECHA DEVOLUCION PELICULA DIRECTOR CLIENTE > FECHA CLIENTE DIRECCION NUMERO SOCIO CIUDAD > > > Quiero cruzar ambas tablas en función de las fechas para ver los datos > coincidentes > > Puedo hacerlo fácilmente, por ejemplo con merge tras haberle cambiado el > nombre a FECHA ALQUILER por FECHA, y con la instruccion: > merge (tabla1, tabla2, by="FECHA", all=T) > > Tengo algunas dudas: > > 1. ¿Podría hacer este cruce sin cambiarle el nombre a las variables? > > 2. ¿Podría hacer este cruce contra dos variables a la vez (la FECHA de la > tabla2 contra FECHA ALQUILER Y FECHA DEVOLUCION de una tacada)? > > 3. ¿Hay alguna alternativa mejor que "merge" para hacer este cruce? > > gracias y saludos > > > > Jose Luis Cebrian > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
