Anunciando ML.NET 1.0

Nos complace anunciar el lanzamiento de ML.NET 1.0 hoy. ML.NET es un marco de aprendizaje automático gratuito, multiplataforma y de código abierto diseñado para llevar el poder del aprendizaje automático (ML) a las aplicaciones .NET.


Logotipo de ML.NET


https://github.com/dotnet/machinelearning

Comience: http://dot.net/ml


ML.NET le permite entrenar, construir y enviar modelos personalizados de aprendizaje automático usando C # o F # para escenarios como análisis de sentimientos, clasificación de problemas, pronósticos, recomendaciones y más. Puede consultar estos escenarios y tareas comunes en nuestro repositorio de muestras de ML.NET .


ML.NET se desarrolló originalmente dentro de Microsoft Research, y se convirtió en un marco significativo utilizado por muchos productos de Microsoft como Windows Defender, Microsoft Office (ideas de diseño de Powerpoint, recomendaciones de Excel Chart), Azure Machine Learning, influenciadores clave de PowerBI, por nombrar algunos.


Desde su lanzamiento, ML.NET está siendo utilizado por muchas organizaciones como SigParser (Spam Email Detection), William Mullens (Clasificación de problemas legales) y Evolution Software (Detección de nivel de humedad para avellanas) . Puede seguir el viaje de estas y muchas otras organizaciones utilizando ML.NET en nuestro escaparate de clientes de ML.NET . Estos usuarios nos dicen que la facilidad de uso de ML.NET, la capacidad de reutilizar sus habilidades de .NET y mantener su stack tecnológico completamente en .NET son los principales impulsores de su uso de ML.NET.


Junto con la versión ML.NET 1.0 también estamos agregando nuevas funciones de vista previa como el poder del aprendizaje automático (AutoML) y nuevas herramientas como ML.NET CLI y ML.NET Model Builder, lo que significa que ahora es necesario agregar modelos de aprendizaje automático a sus aplicaciones ¡a solo un clic de distancia!


Logotipo de ML.NET

El resto de esta publicación se centra en estas nuevas experiencias.



Componentes principales de ML.NET


ML.NET tiene como objetivo proporcionar el flujo de trabajo de extremo a extremo para consumir ML en aplicaciones .NET en varios pasos del aprendizaje automático (preprocesamiento, ingeniería de características, modelado, evaluación y operacionalización). ML.NET 1.0 proporciona los siguientes componentes clave:


  • Representación de datos
    • Tipos de datos fundamentales de canalización de datos de ML como IDataView , el tipo fundamental de canalización de datos
    • Lectores para admitir la lectura de datos de archivos de texto delimitados o IEnumerable de objetos
  • Soporte para tareas de aprendizaje automático:
    • Clasificación binaria
    • Clasificación de clases múltiples
    • Regresión
    • Ranking
    • Detección de anomalías
    • Agrupación
    • Recomendación (vista previa)
  • Transformación de datos y caracterización
    • Texto
    • Categorias
    • Selección de funciones
    • Normalización y manejo del valor perdido
    • Caracterización de imagen
    • Series temporales (vista previa)
    • Soporte para la integración del modelo ONNX y TensorFlow (vista previa)
  • Otros
    • Modelo de comprensión y explicabilidad
    • Transformaciones personalizadas definidas por el usuario
    • Operaciones de esquema
    • Soporte para manipulación de conjuntos de datos y validación cruzada

Vista previa automatizada de aprendizaje automático


Comenzar hoy con el aprendizaje automático implica una curva de aprendizaje empinada. Al crear modelos de aprendizaje automático personalizados, debe averiguar qué tarea de aprendizaje automático elegir para su escenario (es decir, ¿clasificación o regresión?), Transforme sus datos en un formato que los algoritmos de ML puedan comprender (por ejemplo, datos textuales -> vectores numéricos), y ajuste estos algoritmos ML para proporcionar el mejor rendimiento. ¡Si eres nuevo en ML, cada uno de estos pasos puede ser desalentador!


El aprendizaje automático automatizado hace que su viaje con ML sea más simple al descubrir automáticamente cómo transformar sus datos de entrada y seleccionar el algoritmo de ML de mejor rendimiento con la configuración correcta que le permite construir los mejores modelos de ML personalizados de su clase fácilmente.


La compatibilidad con AutoML en ML.NET está en versión preliminar y actualmente admitimos tareas de regresión (utilizadas para escenarios como Predicción de precios) y Clasificación (utilizadas para escenarios como Análisis de opinión, Clasificación de documentos, Detección de spam, etc.).


Puede probar la experiencia de AutoML en ML.NET en tres factores de forma usando ML.NET Model Builder, ML.NET CLI o usando la API de AutoML directamente (las muestras se pueden encontrar aquí ).


Para los usuarios que son nuevos en Machine Learning, recomendamos comenzar con ML.NET Model Builder en Visual Studio y ML.NET CLI en cualquier plataforma. La API de AutoML también es muy útil para escenarios en los que desea construir modelos sobre la marcha.


Vista previa del generador de modelos


Con el fin de simplificar el viaje de los desarrolladores de .NET para construir modelos de ML, hoy también nos complace anunciar ML.NET Model Builder. ¡Con ML.NET Model Builder, agregar aprendizaje automático a sus aplicaciones está a solo un clic de distancia!


Model Builder es una herramienta de interfaz de usuario simple para desarrolladores que utiliza AutoML para crear los mejores modelos de ML utilizando el conjunto de datos que proporciona. Además de esto, Model Builder también genera entrenamiento de modelo y código de consumo de modelo para el modelo de mejor rendimiento, lo que le permite agregar ML rápidamente a su aplicación existente.


ML.NET Model Builder


Obtenga más información sobre ML.NET Model Builder


Model Builder se encuentra actualmente en versión preliminar y nos encantaría que lo probaras y nos contaras lo que piensas.


Vista previa de la CLI de ML.NET


¡La CLI de ML.NET (interfaz de línea de comandos) es otra herramienta nueva que presentamos hoy!


ML.NET CLI es una herramienta dotnet que permite generar modelos ML.NET utilizando AutoML y ML.NET. La CLI de ML.NET itera rápidamente a través de su conjunto de datos para una tarea de ML específica (actualmente admite regresión y clasificación) y produce el mejor modelo.


La CLI, además de producir el mejor modelo, también permite a los usuarios generar un modelo de capacitación y un código de consumo para el mejor modelo.


ML.NET CLI es multiplataforma y es un complemento fácil para .NET CLI. La extensión Visual Studio de Model Builder también utiliza ML.NET CLI para proporcionar capacidades de generador de modelos.


Puede instalar la CLI de ML.NET a través de este comando.


dotnet tool install -g mlnet 

La siguiente imagen muestra la CLI de ML.NET creando un conjunto de datos de análisis de sentimientos.


ML.NET CLI


Obtenga más información sobre la CLI de ML.NET


¡La CLI de ML.NET también se encuentra actualmente en versión preliminar y nos encantaría que lo probaras y compartas tus ideas a continuación!


¡Comience!


Si aún no lo ha hecho, comenzar con ML.NET es fácil y puede hacerlo en unos sencillos pasos como se muestra a continuación. El siguiente ejemplo muestra cómo puede realizar análisis de sentimientos con ML.NET .


 //Step 1. Create a ML Context var ctx = new MLContext(); //Step 2. Read in the input data for model training IDataView dataReader = ctx.Data .LoadFromTextFile<MyInput>(dataPath, hasHeader: true); //Step 3. Build your estimator IEstimator<ITransformer> est = ctx.Transforms.Text .FeaturizeText("Features", nameof(SentimentIssue.Text)) .Append(ctx.BinaryClassification.Trainers .LbfgsLogisticRegression("Label", "Features")); //Step 4. Train your Model ITransformer trainedModel = est.Fit(dataReader); //Step 5. Make predictions using your model var predictionEngine = ctx.Model .CreatePredictionEngine<MyInput, MyOutput>(trainedModel); var sampleStatement = new MyInput { Text = "This is a horrible movie" }; var prediction = predictionEngine.Predict(sampleStatement); 

También puede explorar varios otros recursos de aprendizaje como tutoriales y recursos para ML.NET junto con muestras de ML.NET que demuestran escenarios populares como la recomendación de productos, la detección de anomalías y más en acción.


¿Qué sigue con ML.NET?


Si bien estamos muy entusiasmados de lanzar ML.NET 1.0 hoy, el equipo ya está trabajando arduamente para habilitar las siguientes funciones para la versión 1.0 de lanzamiento de ML.NET.


  • Experiencia AutoML para escenarios ML adicionales
  • Soporte mejorado para escenarios de aprendizaje profundo
  • Soporte para otras fuentes adicionales como SQL Server, CosmosDB, Azure Blob Storage y más.
  • Escalamiento horizontal en Azure para capacitación y consumo de modelos
  • Soporte para escenarios y características de ML adicionales cuando se utiliza Model Builder y CLI
  • Integración nativa para el aprendizaje automático a escala con .NET para Apache Spark y ML.NET
  • Nuevos tipos de ML en .NET, por ejemplo, DataFrame

Source: https://habr.com/ru/post/451334/


All Articles