Appliquer l'imputation par la médiane
Dans ce chapitre, vous allez utiliser une version du jeu de données Wisconsin Breast Cancer. Ce jeu de données pose un problème classique de classification binaire : 50 % des échantillons sont bénins, 50 % sont malins, et l’objectif est de déterminer lesquels sont lesquels.
Ce jeu de données est intéressant car de nombreux prédicteurs contiennent des valeurs manquantes et la plupart des lignes comportent au moins une valeur manquante. Cela complique la modélisation, car la plupart des algorithmes de Machine Learning ne gèrent pas les valeurs manquantes nativement. Par exemple, votre premier réflexe pourrait être d’ajuster une régression logistique, mais avant cela il vous faut une stratégie pour traiter les NA.
Heureusement, la fonction train() de caret propose un argument preProcess qui permet d’indiquer que l’imputation par la médiane doit être utilisée pour renseigner les valeurs manquantes. Dans les chapitres précédents, vous avez créé des modèles avec train() en utilisant des formules comme y ~ .. Une autre approche consiste à fournir les arguments x et y à train(), où x est un objet avec les échantillons en lignes et les variables en colonnes, et y est un vecteur numérique ou factoriel contenant les sorties. Autrement dit, x est une matrice ou un data frame qui contient l’ensemble du jeu de données que vous utiliseriez, par exemple, comme argument data dans un appel à lm(), mais sans la colonne de variable réponse ; y est un vecteur qui contient uniquement la colonne de la variable réponse.
Pour cet exercice, l’argument x de train() est chargé dans votre espace de travail sous le nom breast_cancer_x et y sous le nom breast_cancer_y.
Cet exercice fait partie du cours
Machine Learning avec caret en R
Instructions
- Utilisez la fonction
train()pour ajuster un modèleglmappelémedian_modelsur le jeu de données du cancer du sein. UtilisezpreProcess = "medianImpute"pour traiter les valeurs manquantes. - Affichez
median_modeldans la console.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Apply median imputation: median_model
median_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print median_model to console