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