Aan de slagGa gratis aan de slag

Medianimputatie toepassen

In dit hoofdstuk werk je met een variant van de Wisconsin Breast Cancer-gegevensset. Deze gegevensset is een klassiek binair classificatieprobleem: 50% van de monsters is goedaardig, 50% is kwaadaardig, en de uitdaging is om te bepalen welke welke zijn.

Deze gegevensset is interessant omdat veel voorspellers ontbrekende waarden bevatten en de meeste rijen minstens één ontbrekende waarde hebben. Dat is een uitdaging voor het modelleren, want de meeste Machine Learning-algoritmen kunnen niet direct overweg met ontbrekende waarden. Je eerste ingeving is misschien om een logistisch regressiemodel op deze data te fitten, maar daarvoor heb je eerst een strategie nodig om met de NAs om te gaan.

Gelukkig heeft de functie train() in caret een argument preProcess, waarmee je kunt aangeven dat medianimputatie moet worden gebruikt om de ontbrekende waarden op te vullen. In eerdere hoofdstukken maakte je modellen met train() via formules zoals y ~ .. Een alternatief is om de argumenten x en y aan train() door te geven, waarbij x een object is met de rijen als monsters en de kolommen als features, en y een numerieke vector of factor met de uitkomsten. Anders gezegd: x is een matrix of data frame met de volledige gegevensset die je bijvoorbeeld voor het data-argument in de lm()-aanroep zou gebruiken, maar dan zonder de kolom van de responsvariabele; y is een vector met alleen die responsvariabelekolom.

Voor deze oefening zijn het argument x voor train() als breast_cancer_x en y als breast_cancer_y in je werkruimte geladen.

Deze oefening maakt deel uit van de cursus

Machine Learning met caret in R

Cursus bekijken

Oefeninstructies

  • Gebruik de functie train() om een glm-model met de naam median_model te fitten op de breast cancer-gegevensset. Gebruik preProcess = "medianImpute" om de ontbrekende waarden af te handelen.
  • Print median_model naar de console.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Apply median imputation: median_model
median_model <- train(
  x = ___, 
  y = ___,
  method = ___,
  trControl = myControl,
  preProcess = ___
)

# Print median_model to console
Code bewerken en uitvoeren