Microsoft R client

R vu par Microsoft

Emmanuel Jakobowicz actualités 0 Comments

Microsoft s’est beaucoup impliqué dans le projet R depuis quelques années. Avec sa participation au R consortium et son rachat de Revolution Analytics, on pouvait s’attendre à ce que la firme de Redmont dégaine de nouveaux outils basés sur R. C’est chose faite avec R open, R client et R server.

La grande question résidait dans le modèle choisi par Microsoft. La réponse se trouve à mi-chemin entre la communauté du libre et ses habitudes commerciales (c’est déjà un gros progrès).

Une offre divisée en 3 : R open, R client et R server

L’entrée de Microsoft se décompose en 3 produits :

  • R Open : une distribution de R made in Microsoft avec une copie rajeunie du CRAN nommée MRAN https://mran.microsoft.com/ (pas besoin de vous expliquer la signification du M). On notera aussi l’ajout de la prise en charge de bibliothèque C de calcul parallélisé.
  • R Client : c’est là que les choses commencent à vraiment changer, il s’agit d’une distribution de R basée d’une part sur Open R et sur de nouveaux outils Microsoft améliorant les performances de R surtout pour la parallélisation (il s’agit de ce qui a été hérité de Revolution Analytics). Petit hic, ces nouveaux packages sont bien sûr propriétaires (de bonne guerre venant de Microsoft). Par contre la solution est toujours gratuite tant qu’on l’installe sur un client simple.
  • R Server : le flagship, c’est la version « révolutionnaire », avec des vitesses beaucoup plus importantes et surtout une intégration dans Azure, le cloud maison. C’est évident qu’avec cela, R prend un tour très pro, mais est-ce que le fait de développer en parallèle leurs outils est la solution qui séduira les utilisateurs (le data scientist, je ne crois pas, par contre, la DSI, c’est plus sûr si ils acceptent de fonctionner en cloud).

Comment ça fonctionne ?

J’ai donc voulu tester tout cela pour vous.

Je ne développerai pas la partie R Open qui est là pour la galerie et pour proposer un CRAN plus « sérieux ». Il s’agit d’une copie à un moment donné du CRAN. Le site est beau mais ne possède pas grand chose :

MRAN website

L’étape suivante c’est R Client, c’est la version light de R Server pour s’entraîner (dixit Microsoft).

Commençons par l’installation, c’est simple, un executable et ça va vite. Ensuite il vous suffit de « brancher » R Client à votre IDE favori.

J’ai voulu aller plus loin et je me suis donc lancé dans l’IDE maison : Visual Studio avec une extension R Tools for Visual Studio : http://microsoft.github.io/RTVS-docs/

C’est beau et c’est pro mais ça n’est pas révolutionnaire. Pas mal de simitude avec notre cher R Studio.

R client with visual studio

On voit bien, qu’on a notre script en haut à gauche, la console R en bas à gauche et les différentes fenêtres à droite (répertoire, variables actives, aides, affichage des graphiques).

Voilà, j’ai donc une version équivalente à RStudio avec un R version Microsoft. Je peux lancer toutes mes analyses R classiques. Ce qui m’intéresse maintenant c’est ce que va m’apporter mon R client.

Aller plus loin

Le site de Microsoft s’étoffe de jour en jour avec de nouvelles fonctionnalités. Vous trouverez beaucoup de détails ici :
https://msdn.microsoft.com/en-us/microsoft-r/microsoft-r-getting-started

L’intérêt principal de R client est l’accès aux fonctions propriétaires ScaleR issues du rachat de Revolution Analytics. Si vous acceptez le fait que vous travaillez maintenant sur un outil propriétaire, les capacités sont importantes. Sur des jeux de données de taille conséquente, on gagne énormément en temps de calcul pour le chargement des données et pour l’application des méthodes.

Toutes les fonctions de ce package commencent par rx, il y a de nombreuses fonctions d’importation, de transformation et quelques modèles (linéaire, logistique, arbre de décision et fôrets aléatoires…). Evidemment, la liste n’est pas exhaustive mais Microsoft compte bien l’étoffer rapidement. La liste des fonctions peut être trouvée ici.

Si vous vous orientez vers R server, vous pourrez alors appliquer les méthodes de ScaleR à distance sur des environnements big data et ainsi gagner plus de puissance et passer à l’échelle avec R de manière simple. Mais à partir de là, on rentre dans un modèle commercial basé sur du Microsoft Azure et on sort du scope de cet article.

Conclusions

L’investissement de Microsoft dans R est clairement une bonne nouvelle pour la communauté R et apporte des nouvelles possibilités pour le développement du langage. Les solutions Microsoft sont plutôt bien faites et assez faciles à appréhender pour un data scientist habitué à R. La seule chose qu’on peut regretter c’est que Microsoft ne joue pas le jeu à 100% du libre. En effet, je pense qu’ils ne se rendent pas compte de la force de la communauté pour améliorer un produit et leurs outils « maison » mettront beaucoup plus de temps à être adopté. Dernier petit défaut, R client n’est disponible que pour Windows (on espère que c’est temporaire).

Tout ceci montre que Microsoft mérite sa place dans les éditeurs de data science platforms les plus visionnaires (voir mon article à ce sujet ici) et que ça ne peut que profiter à l’expansion du langage R.

Partager cet article

Laisser un commentaire

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