ComeçarComece de graça

Evitando desbalanceamentos de classe

Alguns dados têm resultados muito desbalanceados — como um conjunto de dados sobre uma doença rara. Ao dividir aleatoriamente, você pode acabar com uma divisão bem infeliz. Imagine que todas as observações raras fiquem no teste e nenhuma no treinamento. Isso arruinaria todo o seu processo de treinamento!

Felizmente, a função initial_split() traz uma solução. Neste exercício, você vai observar e resolver esses chamados desbalanceamentos de classe.

Já há código fornecido para criar um objeto de divisão diabetes_split com 75% para treinamento e 25% para teste.

Este exercício faz parte do curso

Machine Learning com modelos baseados em árvores em R

Ver curso

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Preparation
set.seed(9888)
diabetes_split <- initial_split(diabetes, prop = 0.75)

# Proportion of 'yes' outcomes in the training data
counts_train <- table(training(___)$outcome)
prop_yes_train <- counts_train["___"] / sum(counts_train)

# Proportion of 'yes' outcomes in the test data
counts_test <- table(___)
prop_yes_test <- ___ / sum(___)

paste("Proportion of positive outcomes in training set:", round(prop_yes_train, 2))
paste("Proportion of positive outcomes in test set:", round(prop_yes_test, 2))
Editar e executar o código