En préambule : pourquoi des livres en 2020, c’est tellement has been ?! Au delà du plaisir certain de m’enrichir via mon affiliation, saviez vous que vous passez en moyenne 2500 fois aux toilettes par an et en tout 3 ans de votre vie ? Ca en fait des pages lues ! Et Mesdames, vous passez en moyenne 3 minutes pour une pause aux stands, contre 2 minutes pour les hommes, un avantage concurrentiel indéniable et plus d’excuses donc pour vous emparer de ce sujet technique !

La Data Science est à la mode (en vérité le phénomène commencerait déjà à être passé, mais c’est un autre débat), et n’importe qui travaille sur le web (en particulier en SEO) est concerné par cette nouvelle ruée vers l’or. En effet, accoler le terme « data » à n’importe quel métier des internets semble ouvrir les portes du paradis numérique (ce n’est pas vrai non plus). L’idée ici est de vous conseiller, par le biais de deux livres en Français (bien sur il existe bien d’autres méthodes pour apprendre), comment mettre le pied à l’étrier pour qui est motivé à apprendre ces nouvelles compétences. Le mot clé ici est donc « en Français »

Après quelques points de contexte, je vous donne mon avis perso sur les 2 bouquins.

TL;DR : Les 2 Livres :

R pour les data sciences: Importer, classer, transformer, visualiser et modéliser les données
  • Grolemund, Garrett (Author)
  • 478 Pages - 08/16/2018 (Publication Date) - Eyrolles (Publisher)
Python pour le data scientist - Des bases du langage au machine learning: Des bases du langage au machine learning
  • Jakobowicz, Emmanuel (Author)
  • 304 Pages - 07/04/2019 (Publication Date) - Dunod (Publisher)

La Data Science dans la pratique (et dans le SEO)

Ce n’est pas l’endroit pour donner une énième définition de la science de données, mais je vais quand même enfoncer quelques portes grandes ouvertes. Déjà, contrairement à ce qu’on lit à droite et à gauche, il n’y a pas besoin d’un PhD pour faire ce qu’on a à faire, quoiqu’un Doctorat en « copier/coller » pourrait bien vous être utile. Pareil pour les mathématiques, un niveau de compréhension en statistiques / probabilités / algèbre linéaire niveau terminal est certes nécessaire, mais pour ce qu’on a à faire, pas besoin de plus.

En effet, pour nous autres, trimards du Web, ce sont plus les fonctions d’automatisation qui vont nous intéresser que les algos qui sous-tendent tel ou tel méthode. En effet, pour une utilisation donnée, vous trouverez normalement toujours 1 ou 2 modèles (comprendre des librairies prête à l’emploi) validés par la communauté. Le dit modèle vous fournira d’ailleurs souvent les KPI pour évaluer la qualité des sorties. Dès lors pas besoin de savoir comment ça marche, juste que ça marche.

Bref, dans le monde de la Data en SEO il y ‘a en quelque sorte 2 équipes :

  1. Ceux qui « réinventent la roue » dans l’objectif de mieux comprendre leur métier / outil (c’est ce qu’on voit beaucoup actuellement avec la déferlante Python dans le SEO aux US)
  2. Et la 2eme, la mienne, ou il est surtout question d’automatisation des tâches + produire des livrables de plus en plus actionnables et agréables à lire.

Et puisqu’on parle d’équipe, une des questions que vous lirait partout sur le sujet va concerner la guéguerre entre R et Python.

Alors, R ou Python ?

Pour ma part, n’étant ni dev ni ayant envie de le devenir, je cherche juste à être assez bon dans les 2 langages pour pouvoir reprendre et modifier le code fait par d’autre. A ce titre, avec la vague de SEO anglophone qui déferle sur les usages de Python, la question ne se posera peut être bientôt plus.

Objectivement, je pense que Python est en train de prendre un très net avantage sur R, en particulier pour tout ce qui concerne le domaine de l’intelligence artificielle (dont vous n’aurez en vérité jamais besoin, sauf pour importer/lancer une lib qui fait déjà tout pour vous). Mais R Conserve bien des avantages ! (vous êtes bien avancés !)

Quelques petites notes persos (qui n’engagent donc que moi) tout de même :

  • Vous lirez partout que Python est simple et facile. C’est FAUX ! C’est le cas pour un développeur, sans doute, mais cela reste très complexe (gestion des environnements, des dépendances, de la POO…) – c’est un vrai langage de programmation, avec tout ce que cela implique.
  • Vous lirez que la force de Python c’est d’être utilisable pour tout type de projet, ce qui est vrai, mais cela va aussi vous disperser dans votre apprentissage (ce qui m’est arrivé). A vouloir tout faire, tout seul, on ne fait rien et vous serez alors bon à rien et mauvais en tout 🙂
  • On vous dira que R est lent, ce qui est fallacieux comme argument, puisque Python l’est aussi (et parfois même plus)
  • On vous dira que R est dépassé. Là j’en sais rien, mais il reste encore de quoi faire.

Pensez projet plutôt que langage (exemples non exhaustifs) :

  • Vous voulez crawler / scraper des données ? Python sans aucune once d’hésitation !
  • Vous voulez croiser des données, automatiser des analyses, faire de belles visualisation en vue de faire de belles présentations ? R l’emporte, et de très très loin !

Argument très perso mais pas des moindres, je trouve que Python s’oublie très vite et est dur à relire dès lors que vous n’en faites pas quotidiennement, alors que le Tidyverse de R est tellement bien pensé que le code est particulièrement lisible et reproductible.

Si ça peut vous aider à faire votre choix :

  • Si vous aimez les modes, partez sur Python
  • Si vous êtes plutôt vintage (ce qui en fait est une mode aussi), faites du R

Ce que j’ai fait à ce jour (toujours non exhaustif, mais presque ^^) :

  • Divers crawlers en Python. Je sais pas pourquoi mais j’aime bien crawler
  • Un crawler Python (évidemment !) qui va utiliser un algo ML de résumé pour alimenter des MFA (je partagerais pas, je gagne des sous avec)
  • Un rapport d’audit SEO auto en R via un export SF et diverses connexions (GA, GSC, Sitespeed…) (je partagerais pas, je gagne des sous avec)
  • Un prédicteur de tendance du futur de l’avenir de demain en R avec Google Trends et Facebook Prophet (à part en jeter en soirée, ça sert à rien – et puis j’ai pompé le gros du code – donc je partagerai prochainement)

Bref, tout ce laius pour vous présenter 2 livres (avec lien d’affiliation) écris en Français pour prendre en main l’un ou l’autre langage. Je précise que j’ai lu les 2 livres en entier…

R pour les Data Science – Hadley Wickham

Ce livre est une traduction du livre originellement en anglais. Pour appréhender un peu mieux ce bouquin, il faut connaitre un peu l’auteur. Wickham est le papa du Tidyverse, un ensemble de package permettant de mettre en place, facilement, un pipeline de traitement des données. Il a inventé pas mal de méthode et de process pour traiter vos datasets, les principaux étant la grammaire (réduite à quelques verbes comme « filter », « select », « arrange », « mutate »…) et le « pipe » %>% qui va se lire « ensuite ». Donc chaque fois que vous voyez %>% vous pensez « ensuite », ça rend la lecture très simple genre :

Je prends mes données de crawl ensuite je filtre les pages 200, ensuite je sélectionne la longueur des colonnes « title » et « h1 », ensuite je les ordonne par taille…

Et à la fin ça marche.

En code ça donnerait un truc du genre :

crawl %>

filter(status.code == 200) %>%

select(title, h1) %>%

arrange(title)

Bon bref, il y’a énormément à dire sur R et le Tidyverse, mais retenez au moins que cela vous donne un bon nombre de méthode extrêmement simple et extrêmement lisible pour travailler vos données (importer, transformer, merger, visualiser) – que Pandas (pompé sur le fameux Data.Frame de la base de R) ne fait pas du tout.

En résumé, je sais pas si R est moribond, mais si y’avait pas eu Wickham, je pense que R serait mort et enterré depuis longtemps ! Ceci étant dit, ça me rassure un peu moyen qu’un langage ne dépende quasiment que d’un seul mec mais bon…

Ce bouquin présente une sorte de pédagogie inversée, vous verrez d’abord ce que R va vous permettre de faire et ensuite seulement, une fois bien motivé par tant de promesses, vous verrez comment le faire (et serez alors sans doute moins motivé). Des exercices sont proposés tout au long du livre (par contre j’ai jamais trouvé une correction) – et j’ose dire que si vous suivez ce livre de A à Z vous êtes armés pour mener à bien toutes vos analyses SEO/SEM et produire des super rapports interactifs.

Très sincèrement j’aurais aimé démarrer avec ce bouquin, il est particulièrement bien expliqué. Cela va au dela du langage (qui est finalement accessoire), il est plutôt question de méthode.

Le livre ici :

R pour les data sciences: Importer, classer, transformer, visualiser et modéliser les données
  • Grolemund, Garrett (Author)
  • 478 Pages - 08/16/2018 (Publication Date) - Eyrolles (Publisher)

Python pour le Data Scientist – Emmanuel Jakobowicz

Avec ce livre on part sur un autre paradigme, c’est beaucoup plus scolaire et convenu (ce n’est pas péjoratif). On part des bases pour aller vers du toujours plus compliqué. Vous découvrirez d’abord le langage Python, puis quoi et comment faire avec. Bien sur il va y avoir un focus sur les Jupyter Notebooks, Numpy, Pandas et Matplotlib (les principales librairies Python pour l’analyse des données). Vous irez jusqu’au Deep Learning et à Spark (pour un livre de la même taille que celui du dessus, ce qui en dit déjà beaucoup).

Fun fact : j’ai lu (en anglais of course) le livre de Wes McKinney, le papa de Pandas himself, Python for Data Analysis et je l’ai trouvé globalement imbittable. Cette petite remarque met, je trouve, bien en abîme les différences entre Python et R et les pères fondateurs de la « Data Science pour tous »

L’auteur est un ancien universitaire qui possède une agence spécialisée en formation Data (ça vous rappelle quelqu’un ?). On sent bien l’habitude de transmettre et d’enseigner, ça se lit bien.

La grande force de ce livre n’est pas dans le livre en lui même, mais dans les notebooks particulièrement bien documentés disponibles gratuitement ici : https://github.com/emjako/pythondatascientist

Au final il n’y a pas vraiment besoin du livre si vous êtes un acharné (mais que ferez vous aux toilettes alors ?).

Bref, je trouve que c’est un peu trop pour un seul bouquin, mais il est bien écrit et très bien documenté et je recommande de démarrer par ça (ce qui sous entend que vous avez déjà à minima quelques notions de Python et/ou de programmation)

Le livre ici :

Python pour le data scientist - Des bases du langage au machine learning: Des bases du langage au machine learning
  • Jakobowicz, Emmanuel (Author)
  • 304 Pages - 07/04/2019 (Publication Date) - Dunod (Publisher)