Partições de treinamento/teste
Na maior parte do tempo, quando você executa um modelo preditivo, precisa ajustar o modelo em um subconjunto dos seus dados (o conjunto de "training"), e depois testar as previsões do modelo no restante dos dados (o conjunto de "testing").
sdf_random_split() oferece uma forma de particionar seu data frame em conjuntos de training e testing. Seu uso é o seguinte.
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
Há dois pontos importantes sobre o uso. Primeiro, se os valores das partições não somarem um, eles serão escalonados para somar. Então, se você passar training = 0.35 e testing = 0.15, receberá o dobro do que solicitou. Segundo, você pode usar quaisquer nomes de conjuntos que quiser e particionar os dados em mais de dois conjuntos. Portanto, o seguinte também é válido.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
O valor retornado é uma lista de tibbles. Você pode acessar cada um usando os operadores usuais de indexação de listas.
partitioned$a
partitioned[["b"]]
Este exercício faz parte do curso
Introdução ao Spark com sparklyr em R
Instruções do exercício
Uma conexão Spark foi criada para você como spark_conn. Um tibble ligado aos metadados das faixas armazenados no Spark já foi definido como track_metadata_tbl.
- Use
sdf_random_split()para dividir os metadados das faixas.- Coloque 70% em um conjunto chamado
training. - Coloque 30% em um conjunto chamado
testing.
- Coloque 70% em um conjunto chamado
- Obtenha as dimensões (
sdf_dim()) do tibble de training. - Obtenha as dimensões do tibble de testing.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
___