L’exploration de données ( le data mining ) consiste à extraire des informations valables d’énormes ensembles de données et à transformer ces informations en modèles potentiellement utiles et finalement compréhensibles pour une utilisation ultérieure. Elle concerne non seulement le traitement et la gestion des données, mais aussi les méthodes intelligentes telles que l’apprentissage automatique, les statistiques et les systèmes de bases de données, selon la définition de Wikipédia.
Dans cet article, je vais me concentrer sur le domaine de l’exploration de données et résumer les 10 compétences essentielles dont vous avez besoin.
Compétences en informatique
1. Langage de programmation/statistique : R, Python, C++, Java, Matlab, SQL, SAS, shell/awk/sed…
L’exploration de données repose en grande partie sur la programmation, et pourtant il n’y a pas de conclusion quant au meilleur langage pour l’exploration de données. Tout dépend de l’ensemble de données que vous traitez. Peter Gleeson a mis en avant quatre spectres pour votre référence : Spécificité, Généralité, Productivité et Performance. Ils peuvent être considérés comme une paire d’axes (Spécificité – Généralité, Performance – Productivité). La plupart des langages peuvent se situer quelque part sur cette carte. R et Python sont les langages de programmation les plus populaires pour la science des données, selon une étude de KD Nuggets.
2. Frameworks de traitement des big data : hadoop, storm, samza, spark, flink
Les frameworks de traitement effectuent des calculs sur les données du système, comme la lecture à partir du stockage non volatile et l’ingestion de données dans votre système de données. Il s’agit du processus d’extraction d’informations et d’idées à partir de grandes quantités de points de données individuels. Il peut être classé en trois catégories : batch-only, stream-only et hybride.
Hadoop et Spark sont les framework les plus mis en œuvre jusqu’à présent, parce que Hadoop est une bonne option pour les charges de travail par lots qui ne sont pas sensibles au temps, et qui est moins coûteuse à mettre en œuvre que les autres. Spark, quant à lui, est une bonne option pour les charges de travail mixtes, offrant un traitement par lots plus rapide et un traitement par micro-lots pour les flux.
En savoir plus: Hadoop, Storm, Samza, Spark, and Flink: Big Data Frameworks Compared [Digital Ocean] Data Processing Framework for Data Mining [Google Scholar] |
3. Système d’exploitation : Linux
Linux est un système d’exploitation populaire pour les scientifiques spécialisés dans l’extraction de données, qui est beaucoup plus stable et efficace pour l’exploitation de grands ensembles de données. C’est un avantage supplémentaire si vous connaissez les commandes Linux courantes et pouvez déployer des systèmes d’apprentissage automatique distribués Spark sur Linux.
4. Connaissance des bases de données : Bases de données relationnelles et bases de données non relationnelles
Pour gérer et traiter de grands ensembles de données, vous devez connaître les bases de données relationnelles, comme SQL ou Oracle. Ou vous devez connaître les bases de données non relationnelles, dont les principaux types sont :
Column : Cassandra, HBase ;
Document : MongoDB, CouchDB ;
Valeur clé : Redis, Dynamo.
Compétences en statistiques et algorithmes
5. Connaissances de base en statistique : Probabilité, distribution de probabilité, corrélation, régression, algèbre linéaire, processus stochastique…
En rappelant la définition du data mining au début, nous savons que le data mining n’est pas qu’une question de codage ou d’informatique. Il se situe à l’interface de plusieurs domaines, parmi lesquels les statistiques font partie intégrante. Des connaissances de base en statistiques sont vitales pour un mineur de données, car elles vous aident à identifier les questions, à obtenir une conclusion plus précise, à distinguer la causalité de la corrélation et à quantifier la certitude de vos résultats.
En savoir plus: What Statistics Should I Know to do Data Science [Quora] Statistical Methods for Data Mining [Research Gate] |
6. Structure de données et algorithmes
Les structures de données comprennent les tableaux, les listes liées, les piles, les files d’attente, les arbres, les tables de hachage, les ensembles, etc., et les algorithmes courants comprennent le tri, la recherche, la programmation dynamique, la récursion, etc.
La maîtrise des structures de données et des algorithmes est d’une utilité capitale pour l’exploration de données, car elle vous permet de trouver des solutions algorithmiques plus créatives et plus efficaces lors du traitement de grands volumes de données.
En savoir plus: Data, Structure, and the Data Science Pipeline [IBM Developer] Cousera: Data Structures and Algorithms [UNIVERSITY OF CALIFORNIA SAN DIEGO] |
7. Algorithme d’apprentissage automatique/apprentissage profond
C’est l’une des parties les plus importantes de l’exploration de données. Les algorithmes d’apprentissage automatique construisent un modèle mathématique d’un échantillon de données pour faire des prédictions ou prendre des décisions sans être explicitement programmés pour effectuer cette tâche. L’apprentissage profond fait partie d’une famille plus large de méthodes d’apprentissage automatique. L’apprentissage automatique et l’exploration de données utilisent souvent les mêmes méthodes et se chevauchent de manière significative.
En savoir plus: Essentials of Machine Learning Algorithms with Python and R Codes [Analytics Vidhya] A Curated List of Awesome Machine Learning Frameworks, Libraries, and Software (by language) [Github josephmisiti] |
8. Traitement du langage naturel
Le traitement du langage naturel (NLP), en tant que sous-domaine de l’informatique et de l’intelligence artificielle, aide les ordinateurs à comprendre, interpréter et manipuler le langage humain. Le NLP est largement utilisé pour la segmentation des mots, l’analyse syntaxique et sémantique, le résumé automatique et l’implication textuelle. Pour les mineurs de données qui doivent traiter une grande quantité de textes, il est indispensable de connaître les algorithmes du NLP.
En savoir plus: 10 NLP Tasks for Data Scientists [Analytics Vidhya] A Curated List of Awesome Machine Learning Frameworks, Libraries, and Software (by language) [Github josephmisiti] Open Source NLP Libraries: Standford NLP; Apache OpenNLP; Naturel Language Toolkit |
Compétences générales
9. Expérience de projet
Votre expérience de projet est la preuve la plus provinciale de vos compétences en data mining. Lorsqu’on lui a demandé comment décrocher le premier emploi de la science des données, David Robinson, le scientifique en chef des données de DataCamp, a répondu : “La stratégie la plus efficace pour moi était de faire du travail public. J’ai tenu un blog et j’ai fait beaucoup de développement open source à la fin de mon doctorat, et cela a contribué à donner des preuves publiques de mes compétences en science des données.” Si vous cherchez à acquérir plus d’expérience dans l’exploration des données, essayez de découvrir les meilleurs projets dans les 12 plateformes de programmes de science des données les plus populaires.
10. Compétences en matière de communication et de présentation
Les mineurs de données ne se contentent pas de traiter les données, ils sont également chargés d’expliquer aux autres les résultats et les idées tirées des données. Ils doivent parfois les expliquer à des publics non techniques, comme l’équipe marketing. Vous devez être capable d’interpréter les résultats des données et de raconter les histoires, à l’oral, à l’écrit et en présentation.
Un supplément
La compétence de rassembler les données nécessaires
Pour ceux qui veulent faire le data mining, la compétence de rassembler les données nécessaires est essentielle. Les données publiques sur les sites Web, comme les avis clients sur des sites de produits, les discussions sur des réseaux sociaux ou d’autres sont souvent utilisés comme un matétiel incontournable pour l’exploration de données. Vous pouvez obtenir des données en confiant la tâche à un tiers, les récupérer en écrivant des codes ou en employant un outil de web scraping adapté.