Machine Learning : s’outiller pour démarrer

Le langage

Dans l’article précédent nous avons abordé rapidement les aspects formation (MOOC). L’idée maintenant est d’une part de compléter ce volet par un ensemble de lecture mais aussi et surtout de s’équiper afin de pouvoir s’équiper et surtout pratiquer. Comme je vous l’ai dit mon approche sera avant tout expérimentale, nous aborderons la partie théorique ensuite. On a de la chance, le sujet devient de plus en plus mature et maintenant nous avons a disposition des librairies toute faite qui permettent de se lancer sans même avoir de connaissances mathématiques.

Bien évidemment ces aspects mathématiques (algèbre linéaire, statistiques et probabilités) sont indispensables mais peuvent tout à fait venir dans un second temps afin de permettre un meilleur choix ou plus simplement l’affinement des modèles utilisés.

Cela étant dit il faut choisir avant toute chose les moyens et pour cela deux possibilités s’offrent en réalité à nous. Le DataScientiste si il peut choisir le langage de son choix dans l’absolu utilise très rapidement soit le langage Python soit le R. Le langage Python étant clairement la tendance et étant particulièrement bien pourvu en matière de librairies adaptées à ce métier. Le language R étant plus à disposition des statisticiens … enfin quoiqu’il en soit il faudra sans doute et semble-t-il l’utiliser à un moment ou à un autre.

J’utiliserais donc le langage Python.

Bien sur vous trouverez sur le net pléthore de tutos sur ce langage, voici mes liens préférés

La distribution

On se rend très vite compte que la force de ce langage n’est pas forcément le langage lui même mais surtout les librairies qui s’y greffent. Numpy, pandas, flask, etc. font désormais partie du quotidien du développeur Python, et ça veut aussi dire que ces librairies doivent être gérées … d’où le choix d’une distribution !

Un seul choix s’impose Anaconda !

Pour se documenter sur Anaconda allez simplement sur le site officiel. Qui plus est c’est une distribution gratuite qui s’installe très simplement et qui en plus est multi plateforme 🙂

Par contre ilva falloir gérer les environnements. En effet afin d’utiliser toute la puissance des librairies fournies par Python (notament scikit-learn … quoique apparemment à l’heure où je j’écris ces lignes ce n’est plus certain) il faut utiliser la version 2.7 de Python ! or la dernière version est la 3.6. Bonne nouvelle, Anaconda gère très bien le multi-environnement. Voici les étapes pour créer et basculer en 2.7 :

  • Tout d’abord ouvrez l’Anaconda navigator (c’est plus simple, même si on peut tout faire en ligne de commande). Si vous êtes comme moi sur Linux tapez en ligne de commande : $ anaconda-navigator
  • Ensuite allez dans le menu Environments, cliquez sur l’icone Create en dessous de la liste du milieu (Cf. écran ci-dessous).
  • Choisissez tout simplement la version de Python à utiliser, c’est à dire 2.7. Entrez un nom pour votre nouvel environement, et voilà c’est presque terminé.
  • Maintenant il faut sélectionner votre environnement (celui que vous venez de créer) par défaut. Pour celà tapez simplement en ligne de commande : $ source activate P27

A toutes fins utiles, voici le lien qui explique comment gérer les environnements en ligne de commande Anaconda : https://conda.io/docs/user-guide/tasks/manage-environments.html#activating-an-environment

En ce qui concerne l’IDE (surtout à des fins de debugging) je conseillerai deux approches :

  1. Pour une approche de type développement traditionnel (avec des points d’arrets, etc.) : Eclipse + PyDev et Spyder sont parfait (Spyder est en plus inclu avec Anaconda).
  2. Pour une approche « data » il est clair que jupyter est vraiment pratique. Certes un peu déroutant au début (mais pas longtemps 😉 ), par contre très pratique une fois qu’on l’a bien en main.

Astuce : impossible pour ma part de mettre à jour Anaconda une fois installé en mode graphique … pour y remédier, tapez en ligne de commande :

Pour la distribution :

$ conda update -n base conda

Pour le navigateur Anaconda

$ conda update anaconda-navigator

La bibliothèque

J’allais oublié les bouquins ! En voici quelques uns :

  • FR – Machine Learning avec Scikit-Learn (2017 Dunod)
  • FR – DataScience par la pratique (Fondamentaux avec Python) (Eyrolles)
  • FR – Apprentissage machine, De la théorie à la pratique – Concepts fondamentaux en Machine Learning (Eyrolles)
  • FR – Data science – fondamentaux et études de cas – Machine learning avec Python et R (Eyrolles 2015)
  • US – Python Cookbook (O’Reilly 2005)
  • US – Python in a nutshell (OReilly 2006)
  • US – Python for Data Analysis. Data Wrangling with Pandas, NumPy, and IPython (2017, O’Reilly)
  • US – SciPy and NumPy (O’Reilly)
  • US – NumPy Beginners Guide (2015 O’Reilly)

Personnellement j’ai beaucoup apprécié le premier car il aborde de manière pratique et expérimentale la data science … Mais bien sur chacun ses goûts 😉

Partager cet article

One Reply to “Machine Learning : s’outiller pour démarrer”

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.