Particiones de entrenamiento/prueba
La mayoría de las veces, cuando ejecutas un modelo predictivo, necesitas ajustar el modelo con un subconjunto de tus datos (el conjunto de "training") y luego comprobar sus predicciones con el resto de los datos (el conjunto de "testing").
sdf_random_split() te permite particionar tu data frame en conjuntos de training y testing. Su uso es el siguiente.
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Hay dos cosas a tener en cuenta sobre su uso. Primero, si los valores de partición no suman uno, se reescalarán para que lo hagan. Así que, si pasas training = 0.35 y testing = 0.15, obtendrás el doble de lo que pediste. Segundo, puedes usar los nombres de conjuntos que quieras y particionar los datos en más de dos conjuntos. Por tanto, lo siguiente también es válido.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
El valor devuelto es una lista de tibbles. Puedes acceder a cada uno usando los operadores habituales de indexación de listas.
partitioned$a
partitioned[["b"]]
Este ejercicio forma parte del curso
Introducción a Spark con sparklyr en R
Instrucciones del ejercicio
Se ha creado una conexión de Spark como spark_conn. Se ha predefinido un tibble asociado a los metadatos de pistas almacenados en Spark como track_metadata_tbl.
- Usa
sdf_random_split()para dividir los metadatos de las pistas.- Pon el 70% en un conjunto llamado
training. - Pon el 30% en un conjunto llamado
testing.
- Pon el 70% en un conjunto llamado
- Obtén las
sdf_dim()ensiones del tibble de training. - Obtén las dimensiones del tibble de testing.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
partitioned <- track_metadata_tbl %>%
# Partition into training and testing sets
___
# Get the dimensions of the training set
___
# Get the dimensions of the testing set
___