[R-es] Resumen de R-help-es, Vol 89, Envío 9

Patricio Fuenmayor patricio.fuenmayor en gmail.com
Lun Jul 11 01:07:55 CEST 2016


Jose Luis
Te recomiendo que uses el paquete data.table


El 10 de julio de 2016, 4:53, <r-help-es-request en r-project.org> escribió:

> Envíe los mensajes para la lista R-help-es a
>         r-help-es en r-project.org
>
> 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:
>         r-help-es-request en r-project.org
>
> Puede contactar con el responsable de la lista escribiendo a:
>         r-help-es-owner en r-project.org
>
> 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 <javier.ruben.marcuzzi en gmail.com>
> To: "r-help-es en r-project.org" <r-help-es en r-project.org>
> 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 <javier.ruben.marcuzzi en gmail.com>
> *Enviado: *jueves, 7 de julio de 2016 10:51
> *Para: *r-help-es en r-project.org
> *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 <cof en qualityexcellence.es>
> To: Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com>
> Cc: "r-help-es en r-project.org" <r-help-es en r-project.org>
> 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 <
> javier.ruben.marcuzzi en gmail.com> 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 <javier.ruben.marcuzzi en gmail.com>
> > *Enviado: *jueves, 7 de julio de 2016 10:51
> > *Para: *r-help-es en r-project.org
> > *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
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>         [[alternative HTML version deleted]]
>
>
>
>
> ---------- Mensaje reenviado ----------
> From: jose luis <pepeceb en yahoo.es>
> To: R-help-es <r-help-es en r-project.org>
> 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
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es