Descripció
El package ‘caret’ de R (abreviatura de Classification And REgression Training) permet la creació de models predictius. Entre les principals funcionalitats que proporciona es troba la creació de conjunts d’entrenament i de test per a la validació de models de Machine Learning, el preprocessament i Feature Selection.
L’ús de conjunts diferents per a l’entrenament i l’avaluació de classificadors és absolutament necessari per a no crear classificadors que pateixin d’overfitting i, per contra, que generalitzin bé davant de dades noves mai vistes anteriorment.
Enllaç al recurs
http://topepo.github.io/caret/index.html
Exemple d’ús
El següent exemple mostra com partint d’un conjunt de dades és possible dividir-lo en un conjunt d’entrenament i un altre de test.
El codi per realitzar aquesta partició és el següent (s’han numerat les línies per millorar-ne la lectura):
1 # carregar el package 2 library(caret) 3 set.seed(998) 4 5 # creació del conjunt d'entrenament i test 6 inTraining <- createDataPartition(DATA, p = .75, list = FALSE) 7 training <- DATA[ inTraining,] 8 testing <- DATA[-inTraining,]
DATA és l’estructura o data.frame que emmagatzema les dades (llegits d’un fitxer CSV, per exemple).
Després de carregar el package mitjançant la línia 2, en la línia 3 s’inicialitza el generador de nombres aleatoris, per garantir que la separació entre el conjunt de test i train es realitzi de manera aleatòria però controlada per poder repetir exactament el mateix experiment si cal. En la línia 6, mitjançant la funció createDataPartition de caret, dividirem el 75% del conjunt com a entrenament i el 25% restant s’utilitzarà com a test.
Finalment, les línies 7 i 8 permeten l’assignació en les variables de training i testing dels conjunts d’entrenament i test, respectivament, aprofitant les capacitats del llenguatge R per a la manipulació de llistes.
Enllaços relacionats
Conjunts d’entrenament, test i validació: https://en.wikipedia.org/wiki/training,_validation,_and_test_sets
Overfitting: https://en.wikipedia.org/wiki/overfitting