Accéder au contenu principal

Bard vs ChatGPT pour la data science

Bard est le dernier LLM de génération de texte, créé par Google. Dans cet article, découvrez comment Bard se compare à la solution de référence en data science, ChatGPT.
Actualisé 18 sept. 2026  · 15 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Le grand modèle de langage Bard de Google s’est amélioré depuis son lancement en 2023, ajoutant récemment des réponses "en temps réel" similaires à d’autres modèles. 

Le leader actuel du marché est ChatGPT d’OpenAI, et je voulais voir comment Bard se positionne. Google a inventé les modèles de transformeurs qui alimentent ces IA génératives et dispose d’énormes ressources pour tenter de reprendre l’avantage. De son côté, OpenAI bénéficie de plusieurs années de retours utilisateurs sur ses modèles GPT-2, GPT-3, GPT-3.5 et GPT-4.

Récemment, DataCamp a publié une antisèche ChatGPT pour la data science qui propose plus de 60 exemples d’usages concrets de ChatGPT en data science. Dans cette antisèche, ChatGPT s’en sort très bien sur l’ensemble des tâches.

Bien que Google précise que Bard n’est pas encore optimisé pour le code, nous allons tester ici une sélection de tâches de data science pour montrer où Bard performe bien — et où il échoue — afin de voir si la couronne a changé de tête. Vous trouverez une comparaison plus générale de ChatGPT vs Google Bard dans un autre article. 

Introduction au cours ChatGPT

Commencez avec ChatGPT

Commencez Maintenant

Flux de travail de programmation

Où Bard est-il performant ?

L’optimisation de code est une tâche courante mais délicate. Il existe souvent de multiples façons de rendre un code plus efficace ou plus rapide, sans réponse unique parfaite. Une bonne réponse à une demande d’optimisation devrait proposer plusieurs pistes. Ici, on demande à Bard d’optimiser du code SQL.

\"image19.jpg\"

Bard propose 10 options. Elles sont pertinentes, même si certaines se ressemblent (cinq variantes autour de la création d’index) et sont toutes centrées sur l’administration de la base plutôt que sur l’amélioration de la requête elle-même.

Écrire des tests unitaires est une tâche importante mais rarement appréciée ; confier cela à une IA peut donc être un vrai plus. Encore faut-il que les tests soient bons ! Dans cet exemple, on demande à Bard d’écrire des tests pour une fonction qui calcule des factorielles.

\"image24.jpg\"

Le code est bien structuré et la plupart des tests sont judicieux. Un point peut toutefois interroger : le test sur les entrées de type chaîne demande à la fonction de renvoyer des valeurs numériques. Un·e développeur·euse exigerait sans doute une erreur lorsqu’une chaîne est fournie, la factorielle d’un texte n’ayant pas de sens. L’invite ne précisait pas le comportement attendu pour une chaîne, donc un prompt plus détaillé corrigerait probablement le tir. Je classerais néanmoins cette réponse dans la bonne, mais pas parfaite.

Où Bard se débrouille-t-il mal ?

Sans doute l’usage le plus répandu de ChatGPT en data science est l’explication des erreurs de code. Je m’attendais donc à ce que Bard excelle lorsqu’on lui demande d’expliquer une simple erreur de syntaxe dans du code R.

\"image15.jpg\"

Malheureusement, Bard refuse de répondre (et donne une réponse similaire pour des erreurs Python et SQL). C’est décevant. La bonne nouvelle, c’est que refuser de répondre est la meilleure manière d’échouer. Un gros problème des modèles d’IA est de répondre avec assurance… mais faux, ce qui peut induire en erreur. Bravo à Google pour avoir doté Bard de prudence.

Bard a eu une réaction similaire lorsqu’on lui a demandé d’expliquer du code Python.

\"image21.jpg\"

Verdict : ChatGPT l’emporte

Si certaines réponses de Bard aux questions de programmation sont correctes, ses lacunes très nettes autour de l’explication du code et des erreurs le rendent peu adapté pour vous aider à comprendre votre code.

Flux de travail d’analyse de données

Où Bard est-il performant ?

Utiliser le langage naturel (c’est-à-dire des phrases humaines) pour écrire des requêtes SQL est un cas d’usage majeur, car cela permet à des utilisateurs métier moins techniques d’accéder aux données. Ici, on demande à Bard d’écrire une requête simple agrégeant des informations clients.

\"image22.jpg\"

Le code et les explications sont justes, et il va plus loin en triant les lignes du type d’e-mail le plus fréquent au moins fréquent, ce qui est utile pour la lecture des résultats.

Les CTE (common table expressions) sont l’équivalent SQL des variables en Python ou R : elles permettent de construire des requêtes longues par étapes. Réécrire des requêtes complexes bourrées de sous-requêtes imbriquées est une bonne pratique pour gagner en lisibilité. Dans l’exemple suivant, je voulais que Bard déplace la sous-requête (le code interne commençant par SELECT) dans une CTE.

\"image6.jpg\"

Ici, Bard a mal compris le problème et a tout déplacé dans une CTE. Cependant, Bard a un atout : à chaque demande, il génère en réalité trois réponses et vous laisse choisir. La troisième réponse est ici correcte. 

\"image27.jpg\"

Autre cas d’usage intéressant en analyse : le nettoyage de données. Ce n’est pas une tâche amusante pour les humains, donc autant la déléguer à l’IA. Mais il existe souvent plusieurs manières de nettoyer, sans solution unique. 

\"image17.jpg\"

Dans ce cas, le code est correct mais présente deux bizarreries. D’abord, il suppose que customer_id se trouve dans l’index du DataFrame. Si certains adeptes de pandas préfèrent ce schéma, l’invite précisait que customer_id était une colonne. Ensuite, la combinaison .replace()/.isnull() est moins élégante que .fillna(). Là encore, l’approche "trois solutions" de Bard le sauve : la deuxième corrige mes deux reproches.

\"image3.jpg\"

Où Bard se débrouille-t-il mal ?

En tant qu’entreprise d’éducation, chez DataCamp, nous avons un besoin quasi illimité de nouveaux jeux de données pour permettre aux utilisateurs de pratiquer. Avoir une IA capable de générer instantanément des datasets est donc une fonctionnalité déterminante. Pour les autres, pouvoir créer rapidement des jeux de données pour tester du code d’analyse est aussi un vrai bénéfice. ChatGPT s’en sort très bien sur ce point ; voyons comment Bard s’en tire.

\"image5.jpg\"

Là encore, il refuse de répondre. Comme pour les exemples de programmation, je salue la retenue de l’IA, mais je suis un peu déçu qu’elle ne puisse pas accomplir la tâche.

Une grande partie de l’analyse de données consiste à manipuler les données ; ce serait idéal si l’IA écrivait le code à votre place. L’exemple suivant est un peu subtil, car il faut comprendre que l’année doit être calculée à partir de la date d’entrée.

\"image10.jpg\"

Hélas, cette subtilité n’a pas été comprise et le code est faux. En fait, les trois solutions proposées sont erronées. Et c’est une mauvaise façon d’avoir tort : l’IA répond avec assurance… mais se trompe.

Verdict : ChatGPT l’emporte

J’apprécie que Bard propose trois solutions, augmentant les chances d’obtenir quelque chose d’exploitable. Mais l’incapacité à générer des jeux de données et à effectuer des manipulations (un peu) complexes est bloquante.

Flux de travail de visualisation de données

Où Bard est-il performant ?

J’ai essayé une tâche simple de création de nuage de points, avec une nuance : changer le thème de couleurs du graphique. Le site d’actualités FiveThirtyEight publie son propre thème, disponible dans le populaire package Matplotlib.

\"image4.jpg\"

Le code est correct, même s’il présente une bizarrerie : mcolors est importé mais jamais utilisé.

Où Bard se débrouille-t-il mal ?

Une autre tâche de tracé assez directe consiste à dessiner une courbe avec plusieurs lignes. Le jeu de données utilisé est gapminder, souvent employé à des fins de démonstration. 

\"image14.jpg\"

Ici, le code est presque correct mais souffre d’un problème déjà vu : Bard hésite entre country en colonne ou dans l’index (malgré la précision du prompt). La sélection de lignes dans plt.plot() suppose que country est dans l’index, ce qui contredit la ligne précédente.

J’ai demandé à Bard d’effectuer la même tâche avec le package ggplot2 de R. 

\"image12.jpg\"

Bard refuse poliment. Je suis un peu surpris, car ggplot2 est le package de visualisation le plus populaire en R depuis plus d’une décennie, et il existe d’innombrables exemples de code.

Verdict : ChatGPT l’emporte

Je pourrais pardonner la confusion de Bard autour des index pandas, mais l’incapacité à tracer un simple graphique ggplot2 le rend peu utile pour les utilisateurs de R.

Flux de travail en apprentissage automatique

Où Bard est-il performant ?

J’ai testé plusieurs tâches, et malheureusement, elles ont toutes posé problème. C’est un très mauvais signal pour Bard, l’apprentissage automatique en Python étant extrêmement populaire.

Où Bard se débrouille-t-il mal ?

Le point de départ le plus évident en machine learning est sans doute d’entraîner un modèle et de faire des prédictions en Python. 

\"image7.jpg\"

Le code est globalement bon, mais la création des jeux d’entraînement et de test pose problème. Il est recommandé de sélectionner aléatoirement les lignes pour chaque jeu, alors que Bard prend simplement les mille dernières lignes pour le test (et tout le reste pour l’entraînement). Cela n’irait que si les films du dataset étaient ordonnés au hasard.

Autre sujet majeur : l’explicabilité des modèles. Les arbres de décision sont assez simples à expliquer avec les valeurs Shap, et il existe un flux de travail assez standard pour cela. 

\"image26.jpg\"

Malheureusement, le code appelle shap.explain(), une fonction qui n’existe pas. Ce genre d’erreur est facile à repérer à l’exécution, mais produire du code non fonctionnel fait perdre du temps.

Je voulais aussi tester une tâche plus conceptuelle. Une bonne part de l’art du machine learning consiste à utiliser la connaissance métier pour créer des variables pertinentes à fournir aux modèles. Trouver des idées de variables peut être difficile, et c’est un domaine où l’IA peut beaucoup aider. 

\"image11.jpg\"

Ici, la réponse n’est pas catastrophique, car elle propose deux idées utiles (genre et budget). Cependant, les deux autres idées ne font que reprendre celles données dans l’invite, et la seconde liste n’était pas demandée. Elle parle aussi de "techniques d’ingénierie des données" plutôt que de "techniques de machine learning", ce qui est inexact.

Verdict : ChatGPT l’emporte

Bard s’est très mal comporté sur ce volet ; il n’y a pas photo.

Flux de travail d’analyse de séries temporelles

Où Bard est-il performant ?

Malheureusement, je n’ai pas réussi à convaincre Bard d’effectuer des tâches sur les séries temporelles.

Où Bard se débrouille-t-il mal ?

J’ai tenté des manipulations de données temporelles pour agréger des données quotidiennes en hebdomadaires et mensuelles. 

\"image25.jpg\"

Bard a refusé.

Ensuite, j’ai essayé de lui faire réaliser un test de stationnarité. 

\"image8.jpg\"

Là encore, Bard a refusé. Comme précédemment, je salue la prudence intégrée à l’IA pour limiter les réponses erronées.

Verdict : ChatGPT l’emporte

On dirait que l’analyse de séries temporelles n’est pas encore dans les cordes de Bard.

Flux de travail en traitement du langage naturel

Où Bard est-il performant ?

On pourrait s’attendre à ce que les grands modèles de langage excellent… avec le langage. L’analyse de sentiment (déterminer si un texte est plutôt positif ou négatif) est essentielle pour quantifier des avis produits sur des boutiques en ligne et constitue un incontournable de l’analyse de texte. La tâche était un peu corsée par la présence d’un emoji et d’une expression d’argot. 

\"image1.jpg\"

La première réponse de Bard est correcte, mais il n’a pas compris que chaque ligne de l’invite devait être traitée séparément. (Pour être juste, ce n’était pas explicite, même si un humain l’aurait sans doute deviné.) La troisième réponse de Bard a, elle, bien pris en compte ce point. 

\"image20.jpg\"

Dans les deux cas, l’emoji et l’argot ont été interprétés correctement.

Où Bard se débrouille-t-il mal ?

La traduction d’une langue humaine à une autre est le cas d’usage originel des transformeurs. J’ai demandé à Bard de répondre en français. 

\"image9.jpg\"

Malheureusement, Bard a fourni une explication en anglais du machine learning et la traduction de l’expression "machine learning" en français, au lieu de donner l’ensemble de la sortie en français.

Verdict : ChatGPT l’emporte

Cette défaillance en traduction m’a beaucoup surpris.

Tâches conceptuelles et orientées carrière

Où Bard est-il performant ?

Expliquer des idées techniques issues de vos analyses à des personnes non spécialistes est l’un des aspects les plus délicats de la data science. J’ai demandé à Bard d’expliquer les tests A/B à une personne dirigeante. 

\"image2.jpg\"

L’explication est plutôt bonne. Elle suppose un peu vite que la nouvelle police entraîne un taux de conversion supérieur (cela dépend du protocole ; il peut s’agir d’une différence, pas forcément d’une hausse). Les deux autres réponses nuançaient ce point, donc je ne sanctionnerai pas.

Autre tâche utile : résumer des travaux plus longs. Ici, j’ai demandé à Bard de résumer l’article scientifique originel sur les transformeurs (écrit par des employés de Google). 

\"image18.jpg\"

Le résumé est bon et facile à lire. Petite bizarrerie : certains liens pointent vers des billets de blog parlant de l’article plutôt que vers l’article original.

Pour celles et ceux qui visent une carrière dans la data, trouver des idées de projets est un conseil précieux. J’ai demandé à Bard d’en proposer. C’est une tâche créative où il n’existe pas de réponse unique. 

\"image13.jpg\"

Enfin, rédiger des introductions à des contenus plus longs fait partie de ces petites corvées que j’aime bien déléguer à l’IA. 

\"image23.jpg\"

Encore une fois, avec un contexte minimal, l’IA propose un texte bien écrit.

Où Bard se débrouille-t-il mal ?

Dans ce cas, Bard s’est bien comporté sur toutes les tâches proposées.

Verdict : match nul

Il est difficile de trancher entre ChatGPT et Bard sur ces tâches créatives, mais je suis ravi d’avoir trouvé un domaine où Bard fournit régulièrement un contenu de qualité.

En résumé

On observe des lacunes notables dans la maîtrise par Bard des flux de travail en data science : son incapacité à expliquer des erreurs de code et ses mauvaises performances en machine learning Python sont de gros points faibles.

J’aime beaucoup le fait d’obtenir trois réponses parmi lesquelles choisir, et j’apprécie sa retenue lorsqu’il atteint ses limites. Mieux vaut refuser de répondre que donner une mauvaise réponse.

En fin de compte, ChatGPT garde l’avantage pour l’instant, mais j’attends avec impatience les progrès de Bard. La concurrence dans l’IA générative ne peut qu’être bénéfique.

Passez au niveau supérieur

Si vous souhaitez approfondir l’usage de l’IA générative pour la data science, consultez les ressources suivantes : 

Introduction au cours ChatGPT

Commencez avec ChatGPT


Richie Cotton's photo
Author
Richie Cotton
LinkedIn

Richie aide les individus et les organisations à mieux utiliser les données et l'IA. Il est data scientist depuis bien avant que l'on parle de data science, et a écrit deux livres et créé de nombreux cours DataCamp sur le sujet. Il est l'hôte du podcast DataFramed et dirige le programme de webinaires de DataCamp.

Sujets
Intelligence artificielle

Approfondissez vos connaissances en IA générative avec ces cours !

Cours

Ingénierie des prompts avec l'API OpenAI

4 h
53.6K
Maîtrisez l’ingénierie des prompts et les bonnes pratiques pour exploiter des modèles comme ChatGPT et résoudre des problèmes concrets.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow