Microsoft Azure Machine Learning : Première prise en main

Le 14 Juillet, Microsoft a mis à disposition des utilisateurs la preview d’Azure Machine Learning.

Le machine learning qu’est-ce que c’est ?

L’apprentissage automatique (machine learning en anglais) est une branche de l’intelligence artificielle, qui permet à un algorithme d’apprendre sans avoir été explicitement programmé pour cela. Dans le monde de l’analyse de données, cela consiste à prédire des comportements en fonction de jeux de données multiples et variés en entrée. On utilise pour cela des algorithmes de régression, de classification ou autres.

Avec l’avènement du Big Data sur lequel Microsoft mise et avance ses pions depuis quelques temps avec HDInsight notamment, et donc l’accroissement en nombre et en variété des données, le machine learning connaît également une mise en avant. Et c’est donc tout logiquement que Microsoft s’engouffre dans la brèche en sortant Azure Machine learning. Il est vrai que le datamining chez Microsoft n’avait pas connu de réelles mises à jour depuis le moteur utilisé sur SQL Server Analysis Services 2005 (qui est également le moteur utilisé dans les add-in Excel). Si vous souhaitez en savoir plus, nous vous conseillons l’article d’Andrew Burst.

Première constatation, et qui correspond bien à la vision actuelle de la firme de Redmond, il s’agit d’un outil Cloud-Only. On le retrouve donc comme un service au sein de son portail Azure.

blog1

 

Une fois le service créé, on se connecte à un workspace (créé au moment de la mise en ligne du service), qui est un portail web, nous permettant de gérer nos analyses, nos webservices et d’administrer notre workspace (le renommer, rajouter des utilisateurs…).

blog2

 

On va s’intéresser en particulier à l’onglet « Experiments » qui permet de créer les analyses de données. On retrouve ici une interface qui rappelle les « dataflow task » de SSIS pour les personnes familières à la BI chez Microsoft. Vous avez un certain nombre de sources de données et d’analyses disponibles, et vous pouvez les chainer comme bon vous semble (enfin dans la logique de l’outil ; à noter que l’interface de développement vous donne l’objet attendu lors de la connexion aux composants).

 blog3

 

Au sujet des sources de données : vous avez la possibilité de créer vos propres datasets en tant qu’objets sur le portail. Ils ne pourront provenir, pour le moment, que de fichiers locaux (csv, fichiers texte…).

blog4

 

Vous avez néanmoins la possibilité d’aller chercher des données en base de données ou en ligne directement au sein de l’outil de création d’analyse. Dans ce cas, les sources peuvent être de type http, SQLAzure, Azure Blob Storage, HiveQuery, Power Query. On sent dans les sources proposées le lien fort entre Machine Learning et Big Data. Cependant il serait étonnant qu’une connexion à une base de données SQL ou un cube Analysis Services ne soit pas proposée dans les semaines qui viennent (il faut garder à l’esprit que nous sommes sur une version preview).

 blog5

Passons en revue les composants mis à disposition :

blog6

« Saved Datasets » vous permet d’utiliser directement les datasets préalablement créés sur le portail. Ils sont listés de manière exhaustive dans cet onglet.

blog7

« Data Format Conversions » nous fournit les outils pour convertir nos données. Il s’agit d’un niveau macro : on convertit le flux de données et non un type de données.

blog8

« Data Input and Output » nous permet de lire et d’écrire dans les sources de données précédemment mentionnées.

blog9

« Data Transformation »  regroupe aussi bien des filtres sur les données que des transformations de jointures, de dédoublonnage ou de sampling.

 blog10

 « Feature Selection » nous permet d’utiliser des outils statistiques pour filtrer les features de notre analyse (En machine learning, une feature est une donnée source, un cas réel)

blog11

Tous ces composants nous permettent de récupérer, nettoyer et préparer nos données d’analyse.

« Machine Learning » nous met à disposition tous les algorithmes de machine learning disponibles dans l’outil.  C’est plutôt complet avec des algorithmes de classification, de régression, de clustering, mais encore du scoring. Avec pour chaque type d’analyse, plusieurs algorithmes au choix.

blog12

 

Sont intégrés enfin la possibilité d’exécuter du code R (le langage de programmation énormément utilisé dans le monde statistique), des fonctions statistiques et du textmining.

blog13

 

Ce qu’on crée dans Azure Machine Learning, ce sont les algorithmes d’apprentissage : on crée un modèle, on l’ « entraîne », le teste et l’évalue. Une fois validé, on doit leur soumettre nos données en entrée pour vérifier si elles correspondent au modèle prévu. L’interrogation de nos modèles est prévue par webservice avec des API nous permettant également de les recalculer.

Un des points intéressants d’Azure Machine Learning est la facilité d’implémentation de plusieurs algorithmes pour pouvoir les comparer entre eux.

 blog14

 

En conclusion, Azure Machine Learning vient compléter l’offre Big Data de Microsoft, en proposant aux data scientists de réaliser leurs analyses via un outil qui semble intuitif pour qui connaît bien les bases du machine learning, mais relativement complet et entièrement en ligne.

2 Commentaires Laisser un commentaire

[…] différents tutoriels disponibles sur le site Azure ML, la vidéo réalisée par Franck Mercier, la prise en main de l’outil par David Joubert, à consulter les release notes, le Centre de documentation Azure ML, à visiter […]

Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *