R Language
dakje
Zoeken…
Invoering
caret
is een R-pakket dat helpt bij de gegevensverwerking die nodig is voor problemen met machine learning. Het staat voor classificatie- en regressietraining. Bij het bouwen van modellen voor een echte gegevensset zijn er enkele andere taken dan het eigenlijke leeralgoritme, zoals het opschonen van de gegevens, omgaan met onvolledige waarnemingen, ons model valideren op een testset en verschillende modellen vergelijken.
caret
helpt in deze scenario's, onafhankelijk van de daadwerkelijk gebruikte leeralgoritmen.
preprocessing
preProcess()
in caret gebeurt via de functie preProcess()
. Gegeven een objecttype x
matrix- of dataframe, preProcess()
transformaties toe op de trainingsgegevens die vervolgens kunnen worden toegepast op preProcess()
.
Het hart van de functie preProcess()
is het argument van de method
. Methodebewerkingen worden in deze volgorde toegepast:
- Geen variantie filter
- Bijna-nul variantie filter
- Box-Cox / Yeo-Johnson / exponentiële transformatie
- centreren
- scaling
- reeks
- aantijging
- PCA
- ICA
- Ruimtelijk teken
Hieronder nemen we de mtcars-gegevensset en voeren we centreren, schalen en een ruimtelijke tekentransformatie uit.
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)