Panama Hitek Logo
Panama Hitek Logo

Machine Learning

Publicaciones, tutoriales, pruebas de concepto y artículos en general

Publicaciones y tutoriales

Publicaciones recientes

Normalización de Datos en Machine Learning: Métodos y Aplicaciones

El análisis de datos y la construcción de modelos de Machine Learning requieren no solo datos limpios, sino también datos estructurados de manera óptima....

Temas populares

Pruebas de concepto

En esta sección publicaré los resultados obtenidos con distintos algoritmos de Machine Learning sobre el dataset MNIST, el cual está formado por imágenes de números manuscritos. En total son 60,000 imágenes para entrenamiento y 10,000 imágenes de prueba. Sin embargo, debido a que el archivo CSV con las 60,000 imágenes de entrenamiento supera 100 MB, en mis pruebas estaré utilizando 50,000 imágenes para no tener problemas a la hora de subir los resultados a nuestro repositorio de Github.

Los resultados aquí presentados se obtuvieron bajo las siguientes condiciones:

    • Datos de entrenamiento: 50,000
    • Datos de prueba: 10,000
    • Lenguaje de programación: Python 3.10
    • Sistema operativo: Windows 11
    • Memoria RAM: 64 GB
    • Procesador: 12th Gen Intel(R) Core(TM) i7-12700H 2.70 GHz. 14 núcleos físicos y 20 núcleos lógicos.
    • GPU: NVIDIA GeForce RTX 3060

Todos y cada uno de los resultados aquí presentados han sido discutidos en publicaciones en este blog. Los scripts estarán disponibles en nuestro repositorio de Github. Los enlaces directo a cada script estarán disponibles en la última columna de la tabla que presentaremos a continuación.

wdt_ID Algorithm Library Hyperparameters Accuracy Training time Testing time Test type Github script
1 Random Forest Sklearn n_estimators=200 97.02% 77,59 193,28 One by one
3 Random Forest Sklearn default 96.82% 38,33 106,40 One by one
4 Support Vector Machine Sklearn default 97.84% 149,73 101,14 One by one
5 Support Vector Machine Sklearn kernel="linear" 93.87% 171,35 52,69 One by one
6 Support Vector Machine Sklearn kernel="poly" 97.53% 182,62 53,19 One by one
7 Support Vector Machine Sklearn kernel="sigmoid" 78.16% 262,42 94,53 One by one
8 Support Vector Machine Sklearn kernel="poly", degree=2 97.59% 149,37 53,10 One by one
9 Random Forest Sklearn n_estimators=500, max_depth=30,min_samples_split=2 97.04% 213,92 464,18 One by one
10 AdaBoostClassifier Sklearn default 73.89% 41,40 1,15 Overall
12 BaggingClassifier Sklearn default 93.03% 131,98 0,46 Overall
13 BernoulliNB Sklearn default 84.16% 0,56 0,12 Overall
14 ComplementNB Sklearn default 72.78% 0,11 0,03 Overall
15 DecisionTreeClassifier Sklearn default 87.15% 17,60 0,03 Overall
16 ExtraTreeClassifier Sklearn default 81.96% 0,45 0,02 Overall
17 GradientBoostingClassifier Sklearn default 94.74% 1.904,76 0,51 Overall
18 KNeighborsClassifier Sklearn default 96.64% 0,18 6,30 Overall
19 MultinomialNB Sklearn default 83.64% 0,11 0,03 Overall
20 NearestCentroid Sklearn default 82.0% 0,42 0,04 Overall
21 NuSVC Sklearn default 92.21% 2.038,26 308,25 Overall
22 Perceptron Sklearn default 89.44% 10,45 0,03 Overall
23 RidgeClassifier Sklearn default 86.13% 1,12 0,03 Overall
24 SGDClassifier Sklearn default 91.29% 19,39 0,03 Overall
25 Neural Network (Sequential) Tensorflow 128 hidden layers (ReLU), adam optimizer 97.86% 62,13 1,94 One by one
27 Neural Network Pytorch 128 hidden layers (ReLU), adam optimizer, 20 epochs 97.81 48,32 1,86 One by one
28 Convolutional Neural Network Pytorch 128 hidden layers (ReLU), adam optimizer, 32 filters, 3x3 kernel, 20 epochs 98.25% 47,40 0,74 One by one
29