El package ‘caret’ de R

1. Cicle de vida

3. Àmbit d'aplicació

4. Llenguatge de programació

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