Experimente uma divisão 60/40
Como você viu no vídeo, neste capítulo vamos trabalhar com o conjunto de dados Sonar, usando 60% para treino e 40% para teste. Vamos praticar mais uma vez como fazer a divisão em treino/teste, para garantir que você pegou o jeito. Lembre-se de que você pode usar a função sample() para obter uma permutação aleatória dos índices das linhas de um conjunto de dados, para usar ao fazer divisões de treino/teste, por exemplo:
n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)
E então usar esses índices de linha para reordenar o conjunto de dados aleatoriamente, por exemplo:
my_data <- my_data[permuted_rows, ]
Depois que o conjunto de dados estiver em ordem aleatória, você pode separar os primeiros 60% como conjunto de treino e os últimos 40% como conjunto de teste.
Este exercício faz parte do curso
Machine Learning com caret em R
Instruções do exercício
- Obtenha o número de observações (linhas) em
Sonar, atribuindo an_obs. - Embaralhe os índices de linha de
Sonare armazene o resultado empermuted_rows. - Use
permuted_rowspara reordenar aleatoriamente as linhas deSonar, salvando comoSonar_shuffled. - Identifique a linha correta para fazer a divisão 60/40. Armazene esse número de linha como
split. - Salve os primeiros 60% de
Sonar_shuffledcomo conjunto de treino. - Salve os últimos 40% de
Sonar_shuffledcomo conjunto de teste.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Get the number of observations
# Shuffle row indices: permuted_rows
# Randomly order data: Sonar
# Identify row to split on: split
split <- round(n_obs * ___)
# Create train
# Create test