Guía práctica

Cómo elegir el algoritmo de Machine Learning adecuado

Con datos y una aplicación, ¿cómo elegir qué algoritmo probar primero? Todas las opciones implican tradeoffs. Estos principios básicos son un buen punto de partida.

Tamaño del conjunto de datos

Los algoritmos son muy sensibles al tamaño del conjunto de datos. Aunque no existen reglas absolutas que determinen qué algoritmo debe utilizarse para conjuntos de datos de menos de 50 MB o más de 1 TB, estos son los algoritmos recomendables para comenzar según la cantidad de datos disponible, suponiendo que el conjunto de datos de muestra está equilibrado.

  • Árboles de decisión
  • Modelos lineales, incluyendo regresión logística y discriminante lineal

  • SVM (no lineal)
  • Naïve Bayes
  • Vecino más cercano
  • Red neuronal (superficial)

  • Redes profundas
  • Ensembles

Velocidad de entrenamiento

La velocidad de entrenamiento es el tiempo que se tarda en crear y entrenar un modelo nuevo con recursos de cálculo determinados. Factores como la arquitectura y complejidad del algoritmo, entre otros, influyen en la rapidez de entrenamiento del modelo. Estos son algunos algoritmos que conviene considerar si la velocidad de entrenamiento es crítica para el proyecto y no dispone de hardware de aceleración.

  • Árboles de decisión
  • Modelos lineales, incluyendo regresión logística y discriminante lineal
  • Naïve Bayes

  • Ensembles
  • Vecino más cercano
  • Red neuronal (superficial)

  • SVM (no lineal)

  • Redes profundas

Interpretabilidad

Los modelos de Machine Learning pueden resultar poco intuitivos y difíciles de comprender. La interpretabilidad indica el grado de transparencia del proceso de toma de decisiones de un algoritmo. No obstante, la interpretabilidad a menudo se realiza a expensas de la capacidad y la precisión. Cada sector y aplicación puede tener también sus propios requisitos de interpretabilidad. Las siguientes valoraciones básicas sobre facilidad o dificultad de interpretar los algoritmos son un buen punto de partida.

  • Árboles de decisión
  • Modelos lineales, incluyendo regresión logística y discriminante lineal

  • Vecino más cercano
  • Red neuronal (superficial)
  • Naïve Bayes

  • SVM (no lineal)
  • Ensembles
  • Redes profundas

Ajuste

El ajuste consiste en optimizar los parámetros o hiperparámetros de un modelo específico para que ofrezca el mejor resultado posible. Algunos algoritmos no están pensados para el ajuste, y limitan el número de parámetros o hiperparámetros que puede modificar para optimizarlos para una aplicación. Una vez que haya elegido un determinado tipo de modelo para entrenarlo, puede cambiar automáticamente los parámetros que más afectan a su rendimiento para optimizarlo. ¿Qué nivel de ajuste desea realizar?

  • Modelos lineales, incluyendo regresión logística y discriminante lineal
  • Vecino más cercano

  • Árboles de decisión
  • SVM (no lineal)
  • Ensembles
  • Naïve Bayes
  • Red neuronal (superficial)

  • Redes profundas