Použití mediánové imputace
V této kapitole budeš pracovat s verzí datasetu Wisconsin Breast Cancer. Jde o klasický problém binární klasifikace: 50 % vzorků je benigních, 50 % maligních a úkolem je rozpoznat, které jsou které.
Tento dataset je zajímavý tím, že mnoho prediktorů obsahuje chybějící hodnoty a většina řádků má alespoň jednu chybějící hodnotu. To představuje modelovací výzvu, protože většina algoritmů strojového učení si s chybějícími hodnotami standardně neporadí. Tvým prvním instinktem by třeba bylo natrénovat na těchto datech logistický regresní model – jenže předtím potřebuješ strategii, jak naložit s hodnotami NA.
Naštěstí funkce train() z balíčku caret obsahuje argument preProcess, pomocí kterého můžeš zadat mediánovou imputaci pro doplnění chybějících hodnot. V předchozích kapitolách jsi vytvářel/a modely pomocí funkce train() se vzorci jako y ~ .. Alternativní způsob je zadat argumenty x a y přímo do train(), kde x je objekt s vzorky v řádcích a příznaky ve sloupcích a y je numerický nebo faktorový vektor obsahující výsledné hodnoty. Jinak řečeno: x je matice nebo datový rámec obsahující celý dataset, který bys použil/a jako argument data ve volání lm(), ale bez sloupce s výslednou proměnnou; y je vektor obsahující právě tento sloupec s výslednou proměnnou.
Pro toto cvičení je argument x funkce train() načten v tvém pracovním prostředí jako breast_cancer_x a y jako breast_cancer_y.
Toto cvičení je součástí kurzu
Machine Learning s balíčkem caret v R
Pokyny k cvičení
- Pomocí funkce
train()natrénuj modelglms názvemmedian_modelna datasetu rakoviny prsu. PoužijpreProcess = "medianImpute"pro zpracování chybějících hodnot. - Vypiš
median_modeldo konzole.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Apply median imputation: median_model
median_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print median_model to console