Aplicar imputação pela mediana
Neste capítulo, você usará uma versão do conjunto de dados Wisconsin Breast Cancer. Esse conjunto traz um clássico problema de classificação binária: 50% das amostras são benignas, 50% são malignas, e o desafio é identificar quais são quais.
Esse conjunto é interessante porque muitos preditores têm valores ausentes e a maioria das linhas possui pelo menos um valor ausente. Isso traz um desafio de modelagem, pois a maioria dos algoritmos de Machine Learning não lida com valores ausentes por padrão. Por exemplo, sua primeira ideia pode ser ajustar uma regressão logística a esses dados, mas, antes disso, é preciso definir uma estratégia para tratar os NAs.
Felizmente, a função train() do caret tem um argumento chamado preProcess, que permite indicar que a imputação pela mediana seja usada para preencher os valores ausentes. Em capítulos anteriores, você criou modelos com a função train() usando fórmulas como y ~ .. Uma forma alternativa é especificar os argumentos x e y para train(), em que x é um objeto com amostras nas linhas e variáveis nas colunas, e y é um vetor numérico ou fator contendo os desfechos. Em outras palavras, x é uma matriz ou data frame que contém todo o conjunto de dados que você usaria no argumento data de uma chamada a lm(), por exemplo, mas exclui a coluna da variável resposta; y é um vetor que contém apenas a coluna da variável resposta.
Para este exercício, o argumento x de train() já está carregado no seu workspace como breast_cancer_x e y como breast_cancer_y.
Este exercício faz parte do curso
Machine Learning com caret em R
Instruções do exercício
- Use a função
train()para ajustar um modeloglmchamadomedian_modelao conjunto de dados de câncer de mama. UsepreProcess = "medianImpute"para tratar os valores ausentes. - Imprima
median_modelno console.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Apply median imputation: median_model
median_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print median_model to console