R Language
Caret
Suche…
Einführung
caret
ist ein R-Paket, das die Datenverarbeitung unterstützt, die für maschinelles Lernen erforderlich ist. Es steht für Einstufungs- und Regressionstraining. Beim Erstellen von Modellen für ein reales Dataset müssen neben dem eigentlichen Lernalgorithmus einige andere Aufgaben ausgeführt werden, z. B. das Bereinigen der Daten, das Bearbeiten unvollständiger Beobachtungen, die Validierung unseres Modells mit einem Testset und der Vergleich verschiedener Modelle.
caret
hilft in diesen Szenarien, unabhängig von den tatsächlich verwendeten Lernalgorithmen.
Vorverarbeitung
Die Vorverarbeitung in Caret erfolgt über die Funktion preProcess()
. Bei einem Matrix- oder preProcess()
x
wendet preProcess()
Transformationen auf die Trainingsdaten an, die dann auf preProcess()
angewendet werden können.
Das Herzstück der Funktion preProcess()
ist das method
. Methodenoperationen werden in dieser Reihenfolge angewendet:
- Nullvarianzfilter
- Fast-Null-Varianzfilter
- Box-Cox / Yeo-Johnson / exponentielle Transformation
- Zentrierung
- Skalieren
- Angebot
- Imputation
- PCA
- ICA
- Räumliches Zeichen
Im Folgenden nehmen wir den mtcars-Datensatz und führen Zentrieren, Skalieren und eine Transformation für räumliche Zeichen durch.
auto_index <- createDataPartition(mtcars$mpg, p = .8,
list = FALSE,
times = 1)
mt_train <- mtcars[auto_index,]
mt_test <- mtcars[-auto_index,]
process_mtcars <- preProcess(mt_train, method = c("center","scale","spatialSign"))
mtcars_train_transf <- predict(process_mtcars, mt_train)
mtcars_test_tranf <- predict(process_mtcars,mt_test)