Skip to content

albaredac/MatCAD_Random_Forest_POO

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

About

Proyecto final de la asignatura de primero de carrera de Programación Orientada a Objetos

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors