Présentation de la bibliothèque open source ML.NET qui vous permettra de pouvoir intégrer du machine learning dans vos applications .NET. Nous avons également fait un point sur l'utilisation des autres framework/services ML de Microsoft pour savoir quoi utiliser dans quel contexte. Une session partagée avec Christopher MANEU (Microsoft France R&D) qui présentait les Cognitives Services pour sa part et pour laquelle je le remercie chaleureusement.
5. Quels sont les problèmes que vous
pouvez résoudre avec le ML ?
# Classification/catégorisation binaire
• Analyse de Sentiment (disponible aussi dans
Azure Cognitive Services)
• Détection de Spam
• Détection de fraude à la carte bancaire
• Prédiction de maladie (cœur, foie, …)
# Classification multiple
• Classification d’anomalies
• Classification d’images (ex : iris des fleurs)
• MNIST
Titre de présentation
6. Quels sont les problèmes que vous
pouvez résoudre avec le ML ?
#Recommandations
• Recommandation de produits
• Recommandations de films
• Recommandations de plats
#Régression / Prédiction
• Prédiction de prix à venir
• Prévision de ventes de soda selon T°
• Prédiction de la demande
Titre de présentation
7. Quels sont les problèmes que vous
pouvez résoudre avec le ML ?
#Détection d’anomalies
• Détection des pics de consommation /
vente
• Détection des pics
• Détection de fraude à la CB
#Apprentissage selon résultat
• Voiture à conduite autonome
Titre de présentation
8. Avez-vous les données ?
# La ML nécessite des données, BEAUCOUP de données et les
BONNES !
# Pertinence
• Pour connaître la probabilité d’avoir un cancer du foie votre jeu de
données est le budget consacré aux activités sportives d’une
personne
• Vous devez aussi connaître la consommation d’alcool et de tabac, si
les personnes possèdent une hépatite B/C, si les personnes
consomment des anabolisants (sportifs), le poids/taille de la
personne (facteur obésité), le nombre d’heure et la nature des
activités
# Quantité
• Le plus de données vous avez, le mieux ce sera
• Oui mais combien ➔ le plus !
• Mais encore ? ➔ définir à partir de la taille de vos données, d’une
heuristique statistique, analogie ou de domaine d’expertise
Titre de présentation
9. Avez-vous les données ?
# Précision de la données
• Une données faiblement précise donnera des
résultats imprécis voire aberrants/incorrects
• Le manque de précision de la données peut rendre
votre problème encore plus problématique
# De bonnes prédictions nécessitent :
• Des données de qualité et nettoyé/calibré
• Beaucoup de données
• Transformation de données
• Bien définir les Features (propriétés mesurables du
phénomène mesuré)
Titre de présentation
10. Titre de présentation
Poser des questions qui ont des
réponses
Appliquer la bonne méthode pour
trouver les bonnes réponses
12. ML.NET c’est quoi ?
# C’est un framework de Machine Learning pour les développeurs
.NET :
• Open Source (licence MIT) :
https://github.com/dotnet/machinelearning
• Pour .NET Core et .NET Fx 4.6.1+
• Multi plateforme (Linux, Mac & Windows)
# Permet de développer/d’entrainer ses propres modèles et
d’intégrer du ML dans vos applications .NET
# Rend accessible le ML aux développeurs .NET sans expertise sur
le fonctionnement sous-jacent des modèles ML
# Originalement développer par Microsoft Research pour Windows,
Bing, Azure, Office, etc
Titre de présentation
13. ML.NET c’est quoi ?
# Scénario Online et Offline
# Support d’extensions (Tensorflow, CNTK, Accord, …)
# Support ONNX (Open Neural Network Exchange format)
# Permet de réalisation des prédications :
• Classification/Catégorisation
• Régression/Prédiction de valeurs
• Détection d’anomalie
• Recommandations
# Glossaire : https://docs.microsoft.com/fr-
fr/dotnet/machine-learning/resources/glossary
Titre de présentation
16. Fonctionnement - Exemple
1. Charger et transformer les données
1. Pipeline / Workflow
2. TextLoader (CSV)
3. ColumnCopier, CategoricalOneHotVectorizer,
2. Choisir l’algorithme d’apprentissage
1. FastTreeRegressor (Gradient boosting) – Prix
d’un taxi
2. FastTreeBinaryClassifier (conversion en
probabilité / étalonnage) – Analyse de
sentiment
3. Evaluer le modèle
Titre de présentation
18. Exemple
#ML.NET possède un repo Github
contenant un ensemble d’exemple prêt à
l’emploi à tester :
https://github.com/dotnet/machinelear
ning-samples
#Bonne connexion requise : le repo fait
presque 1 Go (n’oubliez pas le --depth 1
sur votre git clone)
Titre de présentation
19. Usages ML.NET vs Azure Cognitive
Services
# Embarquer du ML directement dans vos applications .NET
# Scénario Offline
• ML spécifique
• Support container Azure Cognitive Services
# Scénario Hybride
# Quand les services préconfigurés Azure Cognitive Services ne
résout pas vos problèmes
# Attention : vous devenez votre propre fournisseur de données et
responsable des performances et de la pertinence de votre
traitement ➔ Bienvenue dans le monde du ML
Titre de présentation
20. Quelques liens
# ML.NET Github repo :
https://github.com/dotnet/machinelearning
# ML.NET samples Github repo :
https://github.com/dotnet/machinelearning
-samples
# Tensorflow : https://www.tensorflow.org
# Accord .NET : http://accord-framework.net
# ONNX : https://onnx.ai/
Titre de présentation
21. Merci !!! ☺ Des questions ?
Contactez moi :
julien.chable@ncit.nc
Titre de présentation