albaredac/MatCAD_Random_Forest_POO
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
[Proyecto final de la asignatura de primero de carrera de Programación Orientada a Objetos] Membres del grup: Francesc Albareda, 1603751 Guillem Paz, 1598850 Andreu Melià, 1598175 INSTRUCCIONS PER EXECUTAR EL CODI: Al principi del main hi ha un conjunt de variables booleanes que se li poden assignar True o False. Aquestes, serveixen per triar el dataset a classificar, per triar el criteri de classifcació (Gini, Entropy, MSE), si fem servir el mètode lineal o el multiprocessing i finalment els hiperparàmetres. Aquests últims no són variables booleanes sinó que se'ls hi ha d'assignar un valor numèric. S'ha programat el main de tal manera que depengui del mètode de predicció. Com que nosaltres disposem de dos mètodes, necessitem una variable, anomenada Classifier, que si és True aplicarà el mètode Classifier. En cas que sigui False s'aplicarà el mètode Regressor. A partir d'aquí podem triar els datasets corresponents a cada mètode. N'hi ha quatre, dos per cada mètode. El criteri de classificació també depèn del mètode. Si triem el Classifier podrem aplicar el Gini o el Entropy. En cas de triar el el Regressor disposem del criteri MSE. En resum les combinacions són les següents: - Si triem l'opcio de 'Classifier' pots triar si classificar el dataset "Iris" o "MNIST". - Si triem l'opcio de 'Classifier' pots triar el criteri "Gini" o "Entropy". - Si triem l'opcio de 'Regressor' pots triar si utilitzar el dataset "Sin" o "load_boston". - Si triem l'opcio de 'Regressor' només podem triar el criteri MSE. Al llarg del codi, especialment en el main, hi ha diferents comentaris que ajuden a la comprensió del mateix. EXEMPLE D'OPTIMITZACIÓ: OPTIMITZACIÓ MULTIPROCESSING SECONDS/TREE TOTAL Accuracy EXTRA-TREES SÍ 7,5 10min 92% EXTRA-TREES NO 13,93 18min 35s 90% NO NO 742.8 16.5hores* -- *És una simulació, així que és un temps aproximat. En tots els casos s'ha fet amb el dataset MNIST, aplicant cross-validation, i els hiperparàmetres eren: - MAX_DEPTH = 20 - MIN_SIZE_SPLIT = 20 - RATIO_SAMPLES = 0.7 - NUM_TREES = 80 - MULTIPROCESSING = 8 cores