Microsoft ha liberado una nueva versión de ML.NET, una plataforma cruzada, de código abierto, para trabajar en el tema de aprendizaje de máquinas bajo en entorno de desarrollo .NET. La versión actualizada tiene mejoras en el API, mejores explicaciones de los modelos y soporte para GPU cuando se usan modelos ONNX.
ML.NET fue anunciado el año pasado en la conferencia Build. Los desarrolladores pueden usar esto ahora para trabajar con modelos de aprendizaje de máquinas en Inteligencia Artificial, los cuales pueden incluirlos en sus aplicaciones. Se pueden crear y usar modelos de aprendizaje buscando atacar problemas comunes como clasificación, regresiones, clustering, mediciones y clasificación de las mismas, recomendaciones e incluso detección de anomalías. Soporta los entornos de aprendizaje profundo como TensorFlow e interoperatibilidad a través de ONNX.
ML.NET incluye Infer.NET, como parte de la familia de ML.NET. Infer.NET es un entorno de plataforma cruzada para correr inferencias bayesianas en modelos gráficos, los cuales pueden ser usados en la programación probabilística. Fue desarrollado por Microsoft Research y se volvió un sistema abierto el año pasado. En octubre se incluyó en ML.NET y su nombre cambió a Microsoft.ML.Probabilistic.
Las mejoras a la nueva versión de ML.NET empiezan con los cambios en la API. Esto hace que sea más sencillo cargar los datos de texto y añadir factores de confiabilidad en predicciones, sobre todo usando los llamados «Calibrator Estimators». Esto muestra una columna de probabilidad y muestra ésta misma, usando la clase predicha. Además., se tiene un estimador llamado «Key-Value mapping», que da una manera de especificar un mapeo entre dos valores basados en listas claves y en listas de valores.
Los desarrolladores de ML.NET ahora también pueden hace uso de una versión (preview) de los «templates” de los proyectos de Visual Studio. Estos templates se han diseñado para hacer la introducción al aprendizaje de máquina algo mucho más sencillo.
En términos prácticos, uno de los cambios principales en esta nueva versión es la llamada FCC (Feature Contribution Calculation), la cual muestra qué características son las que más influyen en la predicción de un modelo para un ejemplo de datos en particular, trabajando sobre cómo cada característica contribuye al valor final del modelo dado un conjunto de datos en particular. Los desarrolladores en ML.NET dicen que FCC es particularmente importante cuando se inicializan muchas características en los datos históricos. No obstante, el usar muchas características puede reducir el desempeño y la precisión del modelo.