Tillämpa medianimputation
I det här kapitlet använder du en version av Wisconsin Breast Cancer-datamängden. Datamängden är ett klassiskt binärt klassificeringsproblem: 50 % av urvalen är godartade och 50 % är maligna – utmaningen är att avgöra vilka som är vilka.
Datamängden är intressant eftersom många av prediktorerna innehåller saknade värden och de flesta rader har minst ett saknat värde. Det skapar en modelleringsutmaning, eftersom de flesta maskininlärningsalgoritmer inte kan hantera saknade värden utan vidare. Din första tanke kanske är att anpassa en logistisk regressionsmodell till dessa data, men innan dess behöver du en strategi för att hantera NA-värdena.
Lyckligtvis har funktionen train() i caret ett argument som heter preProcess, där du kan ange att medianimputation ska användas för att fylla i de saknade värdena. I tidigare kapitel skapade du modeller med train() med hjälp av formler som y ~ .. Ett alternativt sätt är att ange argumenten x och y till train(), där x är ett objekt med urval i rader och särdrag i kolumner, och y är en numerisk vektor eller faktorvektor med utfallen. Med andra ord: x är en matris eller dataram som innehåller hela datamängden som du skulle använda för argumentet data i ett lm()-anrop, men utan svarsvariabelkolumnen; y är en vektor som enbart innehåller svarsvariabelkolumnen.
För den här övningen är argumentet x till train() inläst i din arbetsmiljö som breast_cancer_x och y som breast_cancer_y.
Den här övningen är en del av kursen
Maskininlärning med caret i R
Övningsinstruktioner
- Använd funktionen
train()för att anpassa englm-modell kalladmedian_modeltill bröstcancerdatamängden. AnvändpreProcess = "medianImpute"för att hantera de saknade värdena. - Skriv ut
median_modeli konsolen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Apply median imputation: median_model
median_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print median_model to console