Alors que la science des données continue de croître et de progresser vers la production, une question revient sans cesse aux chefs d’équipe de pratique: quelle est la manière appropriée de faire de la science des données – codage ou programmation visuelle? Cependant, ce sont simplement deux manières différentes d’exprimer la logique d’un programme. Ce que les chefs d’équipe de pratique devraient vraiment demander à la place est: Quel est le type d’environnement de programmation approprié pour mon équipe de science des données?
A propos de l’auteur
Michael Berthold est PDG et co-fondateur de KNIME.
La réponse est que cela dépend.
Si vous êtes intéressé par les tenants et les aboutissants de nouveaux algorithmes, ou même si vous les inventez vous-même, alors l’écriture de code est la voie à suivre pour peaufiner les roues internes ou implémenter de nouveaux outils.
Pourtant, à plusieurs reprises, lorsqu’ils font de la science des données pour résoudre des problèmes du monde réel, les scientifiques des données finissent par passer beaucoup de temps à s’occuper de choses comme l’accès, l’organisation et le nettoyage des données; essayer une variété de méthodes AI / ML à partir de différents packages; trouver comment extraire des informations à partir de leurs résultats; ou déployer les résultats afin que d’autres puissent les utiliser. Et c’est avant même qu’ils ne commencent à s’inquiéter de toutes les exigences supplémentaires qui se présentent dans des paramètres tels que la gouvernance des données / modèles, la reproductibilité ou la transparence.
Contrairement aux approches de codage, la programmation visuelle offre aux scientifiques des données l’occasion de se concentrer sur la science des données et beaucoup moins sur les lignes de code. Pour aider les chefs d’équipe de la pratique à se familiariser avec cette approche moins connue, examinons ce que signifie la programmation visuelle en action.
Sommaire
Idées fausses
La programmation visuelle est souvent assimilée à des plates-formes d’automatisation sans code ou low-code, où l’objectif est de permettre à de nouveaux groupes de personnes d’utiliser la science des données – des personnes qui n’avaient jamais eu accès auparavant parce qu’elles ne pouvaient pas coder. Ces plates-formes sont vantées comme un égaliseur ou perçues comme une version simplifiée de la «vraie» science des données, en fonction de la personne à qui vous parlez.
Le vrai pouvoir de la programmation visuelle est bien au contraire. Il a été créé pour résumer tout ce dont les scientifiques des données ne devraient pas avoir à s’inquiéter afin de pouvoir se lancer dans une science des données percutante. Ce n’est pas seulement pour les tâches standard et faciles alors que les aspects complexes sont réservés aux codeurs. En réalité, la création de flux de travail visuels offre un moyen différent et très efficace d’exprimer la logique d’un programme.
Élargissez vos options
Une autre réalité moderne est que la science des données n’est pas seulement programmée en Python ou R. Aucun de ces langages n’a été conçu pour la manipulation massive de données dans une base de données. SQL est. D’autre part, le déploiement de la science des données en tant qu’application Web nécessite une programmation Web et, en particulier, JavaScript pour les applications d’analyse interactive. Et si vous souhaitez planifier manuellement l’exécution de la science des données, vous devez également savoir comment configurer une tâche cron.
Pour créer une véritable science des données, les chefs d’équipe de pratique devraient permettre aux scientifiques des données d’utiliser toutes les méthodes intéressantes, pas seulement celles qui sont disponibles dans une seule langue. Mais en adoptant la conviction que la seule bonne science des données est celle qui a été codée manuellement, de nombreuses possibilités sont fermées. En réalité, la programmation visuelle complète le codage en permettant aux data scientists de mélanger le contenu de leur coffre à outils sans se soucier des problèmes de compatibilité. Il existe un nombre croissant d’outils disponibles qui s’intègrent à une multitude de connecteurs cloud et tiers, ce qui peut rendre les choses très intéressantes pour les scientifiques des données.
En s’appuyant sur un flux de travail visuel avec de nouveaux outils, les scientifiques des données peuvent faire plus de ce qu’ils veulent et de ce pour quoi ils sont formés: mettre en œuvre des processus de science des données afin que les informations sur les données puissent être facilement appliquées à diverses exigences commerciales. Il faut des connaissances et des compétences spécialisées pour comprendre quels outils déployer quand et comment. Par conséquent, les scientifiques des données doivent combiner des outils qui ont été mis en œuvre dans différentes langues, et ils doivent être sûrs que les outils et les experts les connaissant fonctionnent bien ensemble – sans avoir à se soucier des langues et dépendances sous-jacentes.
La programmation visuelle ne consiste pas seulement à placer une interface utilisateur au-dessus d’un langage de programmation. C’est un environnement de programmation qui se trouve au sommet et englobe toutes les autres technologies. Pour être clair: il ne s’agit pas de cacher la complexité des outils que les scientifiques des données veulent utiliser, mais plutôt d’exposer toute la complexité nécessaire d’une manière cohérente.
Conduire à la maison
Les flux de travail visuels permettent d’exposer tous les aspects du processus de science des données dans un environnement unique et uniforme, de l’ingestion de données à la modélisation, à la visualisation et finalement au déploiement. Ils permettent aux data scientists de se concentrer sur ce qu’ils savent le mieux: comment donner un sens aux données tout en permettant la collaboration dans un seul environnement, l’ingénieur de données créant un flux de travail que l’ingénieur en apprentissage automatique n’aurait peut-être pas pu écrire lui-même. L’ingénieur ML le comprend cependant et peut facilement le réutiliser.
Les flux de travail visuels fournissent également un moyen clair de documenter et de communiquer ce qui a été fait tout au long du processus de science des données, ce qui simplifie l’audit des flux de travail précédents et les applique plus tard lors de la résolution de nouveaux problèmes, un peu comme fournir des «plans de science des données» – un outil inestimable . S’ils sont bien faits, les flux de travail visuels permettent une science des données exploratoire – ou oserais-je dire «agile» -, en étant capable de prototyper rapidement différentes façons d’ingérer des données, diverses combinaisons d’algorithmes de modélisation et de visualisations interactives, ainsi que la possibilité de pousser facilement le mise en production lorsque la bonne configuration a été trouvée. Une telle flexibilité est difficile à obtenir dans des environnements de codage plus traditionnels en raison de l’effort et de la prévoyance nécessaires pour isoler suffisamment proprement chaque étape du pipeline de science des données pour expérimenter des alternatives.
De mon point de vue en tant que scientifique des données à la fois dans l’industrie commerciale et dans le monde universitaire, les environnements visuels sont l’évolution naturelle des environnements de programmation, exposant le niveau d’abstraction approprié avec la complexité nécessaire pour les types de pratiques de travail que les chefs d’équipe veulent que les scientifiques des données fassent. . Ils permettent également de gagner du temps en permettant aux data scientists de se concentrer sur ce qui est important.
Comme l’a dit un de mes collègues après avoir adopté les flux de travail visuels pour son équipe: «Nous n’avons plus besoin de passer six mois à apprendre à coder avant de pouvoir enfin passer à la science des données.» Cela résume à peu près la valeur de la programmation visuelle lorsqu’elle est appliquée avec un état d’esprit moderne et progressif, ce qui sera essentiel pour faire progresser la science des données cool.