Generar una partición aleatoria de entrenamiento/prueba
En los próximos ejercicios usarás los datos mpg del paquete ggplot2. Estos datos describen las características de varias marcas y modelos de coches de distintos años. El objetivo es predecir la eficiencia de combustible en ciudad a partir de la eficiencia en autopista.
En este ejercicio, dividirás mpg en un conjunto de entrenamiento mpg_train (75% de los datos) y un conjunto de prueba mpg_test (25% de los datos). Una forma de hacerlo es generar una columna de números aleatorios uniformes entre 0 y 1 con la función runif() (docs).
Si tienes un conjunto de datos dframe de tamaño \(N\), y quieres un subconjunto aleatorio de tamaño aproximadamente \(100 * X\)% de \(N\) (donde \(X\) está entre 0 y 1), entonces:
- Genera un vector de números aleatorios uniformes:
gp = runif(N). dframe[gp < X,]tendrá aproximadamente el tamaño buscado.dframe[gp >= X,]será el complemento.
Este ejercicio forma parte del curso
Aprendizaje supervisado en R: Regresión
Instrucciones del ejercicio
- Usa la función
nrow(docs) para obtener el número de filas del data framempg. Asigna este recuento a la variableNe imprímela. - Calcula aproximadamente cuántas filas son el 75% de N. Asígnalo a la variable
targete imprímela. - Usa
runif()para generar un vector deNnúmeros aleatorios uniformes, llamadogp. - Usa
gppara dividirmpgenmpg_trainympg_test(conmpg_trainconteniendo aproximadamente el 75% de los datos). - Usa
nrow()para comprobar el tamaño dempg_trainympg_test. ¿Tienen aproximadamente el tamaño esperado?
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___