Ordenar o data frame aleatoriamente
Uma forma de fazer um split de treino/teste de um conjunto de dados é ordená-lo aleatoriamente e depois dividi-lo em dois conjuntos. Isso garante que os conjuntos de treino e de teste sejam amostras aleatórias e que quaisquer vieses na ordenação do conjunto de dados (por exemplo, se ele tiver sido originalmente ordenado por preço ou tamanho) não sejam mantidos nas amostras usadas para treinar e testar seus modelos. Você pode pensar nisso como embaralhar um baralho novo antes de distribuir as cartas.
Primeiro, defina uma semente aleatória para que seu trabalho seja reprodutível e você obtenha a mesma divisão aleatória a cada vez que executar seu script:
set.seed(42)
Em seguida, use a função sample() para embaralhar os índices de linha do conjunto de dados diamonds. Você poderá usar esses índices depois para reordenar o conjunto de dados.
rows <- sample(nrow(diamonds))
Por fim, use esse vetor aleatório para reordenar o conjunto de dados diamonds:
diamonds <- diamonds[rows, ]
Este exercício faz parte do curso
Machine Learning com caret em R
Instruções do exercício
- Defina a semente aleatória como 42.
- Crie um vetor de índices de linhas chamado
rows. - Reordene aleatoriamente o data frame
diamonds, atribuindo ashuffled_diamonds.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Set seed
# Shuffle row indices: rows
# Randomly order data