Nous avons récemment annoncé la sortie de
ML.NET 1.0 .
ML.NET est un framework d'apprentissage machine gratuit, multiplateforme et ouvert, conçu pour tirer parti des capacités d'apprentissage machine (ML) dans les applications .NET.
github.com/dotnet/machinelearningDébut:
dot.net/mlML.NET vous permet de former, créer et fournir des modèles d'apprentissage automatique personnalisés à l'aide de C # ou F # pour des scénarios tels que l'analyse des sentiments, la classification des problèmes, les prévisions, les recommandations et bien d'autres. Vous pouvez consulter ces scénarios et tâches courants dans notre
exemple d'exemple de référentiel ML.NET .
ML.NET a été initialement développé dans le cadre de Microsoft Research, mais plus tard, il s'est transformé en un cadre significatif utilisé par de nombreux produits Microsoft, tels que Windows Defender, Microsoft Office (idées de conception dans PowerPoint, diagrammes recommandés dans Excel), Azure Machine Learning, visualisation des facteurs clés influences dans PowerBI et ainsi de suite!
Depuis son lancement, ML.NET a été utilisé par de nombreuses organisations, telles que
SigParser (détection de spam dans les e-mails) ,
William Mullens (classification des problèmes juridiques) et
Evolution Software (détermination de l'humidité des noisettes) . Vous pouvez suivre le chemin de ces organisations et de nombreuses autres en utilisant ML.NET dans nos
présentations clients ML.NET . Les clients présentés nous disent que la facilité d'utilisation de ML.NET, la possibilité de réutiliser leurs compétences .NET et la préservation complète de leur pile technique dans .NET sont les principaux moteurs de l'utilisation de ML.NET.
Parallèlement à la sortie de ML.NET 1.0, nous ajoutons également de nouvelles fonctionnalités de prévisualisation, telles que l'apprentissage automatique automatisé (AutoML), et de nouveaux outils, tels que ML.NET CLI et ML.NET Model Builder, ce qui signifie ajouter des modèles d'apprentissage automatique à Vos candidatures sont désormais effectuées uniquement par un clic droit!

Le reste de cet article est consacré à cette nouvelle expérience.
- Composants clés de ML.NET
- Apprentissage automatique (aperçu)
- ML.NET Model Builder (préversion)
- CLI ML.NET (aperçu)
- Premiers pas avec ML.NET
- En route
Composants clés de ML.NET
ML.NET vise à fournir le flux de travail final pour l'utilisation de ML dans les applications .NET à différentes étapes de l'apprentissage automatique (prétraitement, conception de fonctionnalités, modélisation, évaluation et mise en service). ML.NET 1.0 fournit les composants clés suivants:
- Présentation des données
- Types de données fondamentaux du pipeline de données ML tels que IDataView (est un type fondamental de pipeline de données)
- Lecteurs pour prendre en charge la lecture de données à partir de fichiers texte délimités ou d'objets IEnumerable
- Prise en charge des tâches d'apprentissage automatique:
- Classification binaire
- Classification multiclasse
- Régression
- Classement
- Détection d'anomalies
- Regroupement
- Recommandation (aperçu)
- Transformation et caractérisation des données
- Texte
- Les catégories
- Sélection des fonctionnalités
- Normalisation et traitement des valeurs manquantes
- Fonctionnalisation de l'image
- Séries chronologiques (aperçu)
- Prise en charge de l'intégration des modèles ONNX et TensorFlow (aperçu)
- Autre
- Modèle de compréhension et d'explicabilité
- Transformations personnalisées définies par l'utilisateur
- Tableau d'opération
- Prise en charge de la manipulation de jeux de données et de la validation croisée
Apprentissage automatique (aperçu)
Le démarrage de l'apprentissage automatique comprend aujourd'hui une courbe d'apprentissage abrupte. Lors de la création de modèles d'apprentissage automatique personnalisés, vous devez déterminer la tâche d'apprentissage automatique à choisir pour votre scénario (par exemple, classification ou régression?), Comment convertir les données dans un format que les algorithmes ML peuvent comprendre (par exemple, données texte -> vecteurs numériques), et régler ces algorithmes ML pour de meilleures performances. Si vous débutez en ML, chacune de ces étapes peut être assez difficile!
L'apprentissage automatique automatisé simplifie votre voyage avec ML en trouvant automatiquement comment convertir vos données d'entrée et en choisissant le meilleur algorithme ML avec les bons paramètres, ce qui facilite la création de modèles ML personnalisés de première classe.
La prise en charge d'AutoML dans ML.NET est désormais en mode d'aperçu, et actuellement nous ne prenons en charge que les principales tâches ML: régression (utilisée pour des scripts tels que Price Prediction) et classification (utilisée pour des scripts tels que Sentiment Analysis, Document Classification, Détection de spam, etc.).
Vous pouvez essayer AutoML dans ML.NET sous trois formats: en utilisant ML.NET Model Builder, ML.NET CLI ou en utilisant l'API AutoML directement (des
exemples peuvent être trouvés ici ).
Pour les débutants en apprentissage automatique, nous vous recommandons de commencer par ML.NET Model Builder dans Visual Studio et ML.NET CLI sur n'importe quelle plate-forme. L'API AutoML est également très pratique pour les scripts dans lesquels vous souhaitez créer des modèles à la volée.
Model Builder (préversion)
Pour simplifier le chemin des développeurs .NET pour créer des modèles ML, nous sommes également heureux de présenter le générateur de modèles ML.NET. Avec ML.NET Model Builder, l'ajout de machine learning à vos applications se fait désormais d'un simple clic droit!
Model Builder est un outil d'interface utilisateur simple pour les développeurs qui utilisent AutoML pour créer des modèles ML de pointe à l'aide de l'ensemble de données fourni. En plus de cela, Model Builder génère également un code de formation et de consommation de modèle pour le modèle le plus efficace, ce qui vous permet d'ajouter rapidement du ML à une application existante.
En savoir plus sur ML.NET Model BuilderModel Builder est actuellement en mode premier, et nous aimerions que vous l'essayiez et que vous partagiez votre opinion avec nous!
CLI ML.NET (aperçu)
ML.NET CLI (interface de ligne de commande) est un autre nouvel outil que nous introduisons!
ML.NET CLI est un outil dotnet qui vous permet de générer des modèles ML.NET à l'aide d'AutoML et de ML.NET. La CLI ML.NET itère également rapidement votre ensemble de données pour une tâche ML spécifique (prend actuellement en charge la régression et la classification) et crée le meilleur modèle.
La CLI, en plus de créer le meilleur modèle, permet également aux utilisateurs de générer un code de formation et de consommation de modèle pour créer le modèle le plus efficace.
ML.NET CLI est un complément multiplateforme et simple à la CLI .NET. Par ailleurs, l'extension Model Builder pour Visual Studio utilise également la CLI ML.NET pour fournir des fonctionnalités.
Vous pouvez installer la CLI ML.NET via cette commande:
dotnet tool install -g mlnet
L'image gif ci-dessous montre la CLI ML.NET qui crée le jeu de données pour l'analyse des sentiments.
En savoir plus sur ML.NET CLIML.NET CLI est également en mode premier maintenant, et nous aimerions que vous l'essayiez et que vous partagiez votre opinion avec nous!
Commencez maintenant!
Si vous ne l'avez pas déjà fait, sachez: démarrer avec ML.NET est facile, et vous pouvez le faire en quelques étapes simples, comme indiqué ci-dessous. L'exemple ci
- dessous
montre comment l'analyse des sentiments peut être effectuée à l'aide de ML.NET .
Vous pouvez également explorer diverses autres ressources pédagogiques, telles que des
didacticiels, des ressources pour ML.NET et des exemples ML.NET illustrant des scénarios populaires tels que la recommandation de produits, la détection d'anomalies et bien d'autres.
Que se passera-t-il ensuite dans ML.NET
Bien que nous soyons très heureux de publier ML.NET 1.0, notre équipe travaille déjà dur pour inclure les fonctionnalités suivantes après la sortie de 1.0:
- AutoML pour les scripts ML facultatifs
- Prise en charge améliorée des scripts d'apprentissage en profondeur
- Prise en charge d'autres sources supplémentaires telles que SQL Server, CosmosDB, stockage Azure Blob, etc.
- Mise à l'échelle Azure pour la formation et la consommation de modèles
- Prise en charge de scripts supplémentaires et de fonctionnalités ML lors de l'utilisation de Model Builder et CLI
- Intégration native pour l'apprentissage automatique basé sur l'échelle avec .NET pour Apache Spark et ML.NET
- Nouveaux types ML dans .NET, par exemple DataFrame