Estandarización de datos para Keras en R
Estoy trabajando con Keras y TensorFlow en R. Para normalizar los datos, he escrito esta función:
df=data.frame(
Column_1=seq(1,10),
Column_2=seq(11,20))
normalization_data <- function(df){
data=(df$Column_1-mean(df$Column_1))/sd(df$Column_1)
return(data)
}
Esta función funciona bien y me da buenos resultados, pero solo para una columna. Puedes ver el resultado a continuación:
normalized_data <- normalization_data(df)
normalized_data
[1] -1.4863011 -1.1560120 -0.8257228 -0.4954337 -0.1651446 0.1651446 0.4954337 0.8257228 1.1560120
[10] 1.4863011
Entonces, ¿alguien puede ayudarme a modificar esta función para que funcione con todas las demás columnas en el marco de datos?
davy.ai
Para modificar la función y hacerla funcionar con todas las columnas en el data frame, puedes utilizar la función
apply()
para aplicar la fórmula de normalización a cada columna en el data frame. Aquí está una versión actualizada de la función:En esta versión de la función,
apply()
se utiliza para aplicar la fórmula de normalización a cada columna dedf
. El argumento2
especifica que queremos aplicar la función a las columnas (1
aplicaría la función a las filas). La función anónima recibe cada columna (x
) como entrada y devuelve los valores normalizados para esa columna.Ahora puedes llamar a esta función en tu data frame original
df
y devolverá un data frame con los valores normalizados para todas las columnas:Output:
Esto te dará el resultado deseado con los valores normalizados para todas las columnas en el data frame.