Waffles es una colección de herramientas de línea de comandos para realizar operaciones de aprendizaje automático desarrolladas en la Universidad Brigham Young . Estas herramientas están escritas en C++ y están disponibles bajo la Licencia Pública General Reducida de GNU .
Descripción
El kit de herramientas de aprendizaje automático Waffles [1] contiene herramientas de línea de comandos para realizar varias operaciones relacionadas con el aprendizaje automático , la minería de datos y el modelado predictivo . El objetivo principal de Waffles es proporcionar herramientas que sean fáciles de usar en experimentos o procesos con scripts. Por ejemplo, los algoritmos de aprendizaje supervisado incluidos en Waffles están diseñados para admitir etiquetas multidimensionales, clasificación y regresión , imputar automáticamente los valores faltantes y aplicar automáticamente los filtros necesarios para transformar los datos a un tipo que el algoritmo pueda admitir, de modo que se puedan usar algoritmos de aprendizaje arbitrarios con conjuntos de datos arbitrarios. Muchos otros kits de herramientas de aprendizaje automático brindan una funcionalidad similar, pero requieren que el usuario configure explícitamente los filtros y las transformaciones de datos para que sean compatibles con un algoritmo de aprendizaje en particular. Los algoritmos proporcionados en Waffles también tienen la capacidad de ajustar automáticamente sus propios parámetros (con el costo de una sobrecarga computacional adicional).
Debido a que Waffles está diseñado para que se puedan ejecutar scripts, evita deliberadamente presentar sus herramientas en un entorno gráfico. Sin embargo, incluye una herramienta de "asistente" gráfica que guía al usuario para generar un comando que realizará una tarea deseada. Este asistente en realidad no realiza la operación, sino que requiere que el usuario pegue el comando que genera en una terminal de comandos o en un script. La idea que motiva este diseño es evitar que el usuario quede "atado" a una interfaz gráfica.
Todas las herramientas de Waffles se implementan como envoltorios delgados alrededor de la funcionalidad en una biblioteca de clases de C++. Esto permite convertir procesos con scripts en aplicaciones nativas con un mínimo esfuerzo.
Waffles se lanzó por primera vez como un proyecto de código abierto en 2005. Desde entonces, se ha desarrollado en la Universidad Brigham Young y se ha lanzado una nueva versión aproximadamente cada 6 a 9 meses. Waffles no es un acrónimo: el kit de herramientas recibió el nombre del alimento por razones históricas.
Ventajas
Algunas de las ventajas de Waffles en comparación con otros kits de herramientas de aprendizaje automático de código abierto populares incluyen:
- Waffles se encarga automáticamente de muchos problemas relacionados con el formato de datos para simplificar sus herramientas.
- Al estar implementado en C++, muchos de sus algoritmos son particularmente rápidos. Además, la falta de dependencia de ninguna máquina virtual hace que sea más fácil implementarlo junto con otras aplicaciones.
- La funcionalidad incluida en Waffles es muy amplia e incluye algoritmos de reducción de dimensionalidad , filtrado colaborativo , visualización, agrupamiento, aprendizaje supervisado, optimización, álgebra lineal, transformación de datos, procesamiento de imágenes y señales, aprendizaje de políticas y operaciones de matriz dispersa.
Desventajas
- Aunque Waffles ofrece una amplitud significativa, carece de la profundidad de muchos conjuntos de herramientas que se centran en un área particular del aprendizaje automático. El conjunto de herramientas Weka (aprendizaje automático) , por ejemplo, proporciona muchos más algoritmos de clasificación que Waffles.
- Waffles solo tiene una interfaz gráfica limitada.
Véase también
- Weka (aprendizaje automático)
- RapidMiner (anteriormente YALE (Yet Another Learning Environment) ), un marco de aprendizaje automático comercial implementado en Java
- Lista de software de análisis numérico
Referencias
- ^ Gashler, Michael S. (2011). "Waffles: un kit de herramientas de aprendizaje automático" (PDF) . Journal of Machine Learning Research . 12 ( 1532–4435 ). JMLR.org y Microtome Publishing: 2383–2387 .