Vous souhaitez détecter des fraudes ? Faire des prévisions sur vos ventes ? de la classification de textes ?


Azure Machine Learning (Azure ML) propose aujourd’hui 3 patrons à personnaliser selon vos souhaits !

Comme nous avons déjà pu l’illustrer au travers de nombreux billets sur ce blog, Azure ML est un service cloud entièrement géré qui permet aux scientifiques des données (data scientists) et aux développeurs d'incorporer de manière efficace des analyses (prédictives) avancées dans leurs applications.

L’environnement de développement visuel et collaboratif Azure ML Studio constitue, pour cela, et depuis ses débuts, un canevas puissant facile d’utilisation qui permet la composition rapide d'expériences d’apprentissage automatique au travers d’un modèle pratique de glisser/déposer pour rapidement construire des flux de travail (workflows) et leur opérationnalisation en quelques clics. De très nombreux modules de manipulation de données et d’apprentissage automatique sont ainsi proposés pour cela.

image

Azure ML Studio vous permet ainsi de bénéficier directement de puissants algorithmes utilisés au sein de Microsoft, de communautés, etc., de les combiner avec votre propre code R ou Python et de créer une solution.

Nous évoquions dans un précédent billet la possibilité qui vous est donnée de pouvoir désormais partager avec la communauté votre solution ainsi créée d'un simple clic via la nouvelle galerie pilotée par la communauté.

C’est ce que vient de faire en l’occurrence le groupe produit Azure ML. Ce dernier a récemment publié trois nouveaux patrons (template) - pour ne pas dire modèle ici 😉 - :

  • un premier sur la détection de la fraude en ligne,
  • un second sur les prévisions pour la vente en détail,
  • et un troisième visant la classification de textes.

A la différence des exemples classiques d’expérience que vous avez pu voir jusque présent, un patron Azure ML présente les bonnes pratiques et utilise des modules généraux pour construire une solution Machine Learning propre à un domaine particulier. Comme indiqué dans le diagramme qui suit, un patron Azure ML commence par la préparation des données, procède ensuite à leur traitement, à une analyse des critères, à l’entrainement du modèle puis à son déploiement (en tant que service web). L’objectif est de permettre aux scientifiques des données et aux développeurs de construire et déployer rapidement sur le Cloud des solutions d’apprentissage automatique personnalisées et ainsi d’accroitre leur productivité tout en garantissant un haut niveau de qualité du résultat.

Comme Azure ML Studio propose une collection de modules préconfigurés à l’image du module Execute R Script auquel nous nous sommes intéressés récemment et qui permet de faire appel à des scripts R personnalisés, un tel patron offre à chacun la possibilité de construire une solution de bout en bout.

Chaque patron Azure ML inclut :

  • Un schéma de données applicable à un domaine particulier,
  • Un traitement des données et une analyse de critères spécifiques à ce domaine,
  • Des algorithmes d’entrainement du modèle qui correspondent à ce domaine,
  • Le cas échéant, une métrique adaptée au domaine permettant d’évaluer le modèle.

Pour en refléter le caractère itératif et en faciliter la compréhension et l’expérimentation par les utilisateurs, chaque patron est subdivisé en plusieurs étapes (donnant de multiples expériences sur Azure ML) selon le diagramme qui suit. Chacune dispose également d’une documentation propre et d’instructions présentant comment l’utiliser dans la galerie Azure ML.

image

La proposition étant clarifiée, voyons ce qu’il en est au cas par cas.

La détection de fraudes

La détection de fraudes est l’une des premières applications industrielles du Data Mining et du Machine Learning. La détection de fraudes est généralement traitée comme un problème de classification binaire (p. ex. : cette transaction est-elle frauduleuse ou non ?) divisant la population en deux classes d’effectifs inégaux comme les cas de fraudes sont généralement très rares ( ? ;-)) par rapport au volume global des transactions. Lorsqu’une organisation comme un organisme financier détecte des transactions frauduleuses, cette dernière prend généralement des mesures pour bloquer les transactions sur les comptes mis en cause et éviter ainsi de nouvelles pertes : elle se doit donc agir le plus rapidement possible ! Par conséquent, en plus de mesures relatives au niveau de transactions par compte, des mesures de performances du modèle de détection de fraude s’avèrent souvent très importantes. On pense ici par exemple à la courbe ROC.

Pour augmenter le pouvoir de prédiction du modèle, des critères sont générés selon des méthodes de comptages (en utilisant pour ce faire les modules Learning with Count).

Le patron ainsi proposé présente un traitement de bout en bout en utilisant un scénario de détection de fraudes sur des achats en ligne. La méthodologie qui y est utilisée peut aisément être étendue à de la détection de fraudes dans d’autres domaines 🙂

Vous trouverez ci-dessous un inventaire des expériences relatives à la détection de fraudes. Vous pouvez également les retrouver depuis la galerie Azure ML en tapant « fraud detection » entre guillemets.

image

Passons au second patron.

Des prévisions pour la vente de détail

La capacité à réaliser de bonnes prévisions au bon moment est (souvent) source de succès dans le marché de la vente de détail. Ces prévisions jouent en effet un rôle essentiel dans la planification de la demande sur les produits, de leur inventaire, de leur prix, de leur promotion et leur placement dans les différents rayons d’un magasin (comme cela a pu être récemment évoqué lors de la session plénière J3 Vers une technologie invisible et une intelligence omniprésente ? des Microsoft TechDays 2015 au sein de la table ronde).

Un patron vous est désormais proposé afin de (pouvoir) construire et déployer facilement une solution complète de prévision pour la vente de détail. Au travers de plusieurs étapes comme souligné ci-avant, ce patron fournit automatiquement des prévisions de ventes hebdomadaires pour chaque magasin et pour chaque produit d’un quelconque vendeur. Ce patron présente à la fois l’approche par les séries temporelles et la régression.

Vous trouverez ci-dessous un inventaire des expériences relatives aux prévisions pour la vente de détail. Celles-ci peuvent également être retrouvées depuis la Galerie ML en tapant « retail forecasting » entre guillemets.

Il est à présent temps d’aborder le troisième patron relatif à la classification de textes.

La classification de textes

Le champ d’application de la classification de textes est très vaste qu’il s’agisse de catégoriser des articles de journaux, de découper un article en plusieurs sujets, d’organiser des pages web en catégories hiérarchiques, de filtrer des spams, d’analyser des sentiments, de prédire l’intention des utilisateurs à partir de leurs recherches ou encore d’analyser les commentaires des clients etc.

L’objectif de la classification de textes est d’assigner aux diverses parties d’un texte leur classe ou catégorie. Une partie de texte peut être un document, un article de journal, une requête de recherche, un email, un tweet, un ticket de caisse, un commentaire laissé par un client etc.

Ce patron utilise des données de sentiments collectées sur Twitter pour montrer comment prétraiter un texte, en extraire des critères et y entrainer un modèle de classification de sentiment et enfin comment publier ce modèle en tant que service web.

Vous trouverez ci-dessous un inventaire des expériences relatives à la classification de texte. Celles-ci peuvent également être retrouvées depuis la Galerie ML en tapant « text classification » entre guillemets.

Nous voilà arrivé à la fin de ce billet. Nous espérons que ce dernier vous aura donné l’envie de tester ces patrons.

D’autres patrons et modèles d’apprentissage automatique devaient être publiés prochainement. Ces derniers feront certainement l’objet de futurs billets 😉 Stay tuned ! Comme on dit.

Comments (0)

Skip to main content