1. Libros y videos
  2. Aprender a desarrollar con JavaScript
  3. Implementación de la biblioteca TensorFlow.js
Extrait - Aprender a desarrollar con JavaScript Aspectos principales del uso de frameworks (5ª edición)
Extractos del libro
Aprender a desarrollar con JavaScript Aspectos principales del uso de frameworks (5ª edición) Volver a la página de compra del libro

Implementación de la biblioteca TensorFlow.js

Algoritmo de clasificación automática

En este capítulo vamos a implementar una aplicación de clasificación automática. Veamos en qué consiste este algoritmo: "La clasificación automática o clasificación supervisada es la categorización algorítmica de objetos. Consiste en asignar una clase o categoría a cada objeto (o individuo) que se desea clasificar, basándose en datos estadísticos. Se basa en el aprendizaje automático y se utiliza ampliamente en el reconocimiento de patrones".

En este ejemplo, consideraremos un conjunto de datos que ya hemos encontrado en el capítulo anterior, el conjunto de datos Fisher, que describe las características de las flores (Iris), en su versión completa:

  • 150 observaciones (Iris);

  • cada flor se caracteriza por la longitud y la anchura de su sépalo, y la longitud y la anchura de su pétalo.

Tras una fase de entrenamiento específica del algoritmo de clasificación que ofrece Google (biblioteca TensorFlow.js), se pedirá al usuario de la aplicación que introduzca las cuatro características:

  • longitud del sépalo;

  • anchura del sépalo;

  • longitud del pétalo;

  • anchura del pétalo

de la flor que quiere clasificar como una de las tres especies de Iris de la muestra de Fisher:

  • Setosa;

  • Versicolor;

  • Virginica.

Aplicación "eni_clasificacion_iris.html"

Echemos un vistazo a la interfaz de la aplicación JavaScript, que se basa esencialmente en la biblioteca Plotly.js para la representación:

  1. del diagrama de dispersión de la longitud y anchura de los sépalos (primera gráfica);

  2. del diagrama de dispersión de la longitud y anchura de los pétalos (segunda gráfica);

  3. y en la biblioteca TensorFlow.js desarrollada por Google, que en nuestro caso se utiliza para realizar la operación de clasificación.

TensorFlow también existe en el entorno Python y es una de las librerías más utilizadas en el campo del Machine Learning.

El resultado es el siguiente:

images/25-0802RI01.png
images/25-0802RI02.png
images/25-0802RI03.png

Se puede observar que, en lo que respecta a los sépalos (primera gráfica) y los pétalos (segunda gráfica), existe claramente una agrupación por especies. Esta agrupación es casi perfecta para los pétalos. Para los sépalos, hay cierta ambigüedad entre las especies "Versicolor" y "Virginica". Sin embargo, es optimista pensar que, combinando las cuatro características, la predicción debería ser más fiable. En el ejemplo presentado anteriormente, el riesgo era bajo porque los valores:

  • longitud del sépalo: 5,

  • anchura del sépalo: 3,5,

  • longitud del pétalo: 1,5,

  • anchura del pétalo: 0,3

habrían permitido a un "botánico aficionado" clasificar la flor en la categoría correcta (especie "Setosa").

Pasemos ahora al código de esta aplicación, mucho más ambicioso que los que vimos en el capítulo Implementación de la biblioteca Math.js.

1.   <!DOCTYPE html>   
2.       
3.   <html lang="es">   
4.      
5.     <!--   
6.       Nombre del script: eni_clasificacion_iris.html   
7.       Autor: Christian VIGOUROUX - Ediciones ENI 
8.       Fecha de creación: 27/02/2024   
9.       Fecha de última modificación: 27/02/2024   
10.      Objeto: Clasificación automática del dataset Iris   
11.   -->   
12.    
13.   <!-- Encabezado de la página...