• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • La science des données s'adresse à tous ceux qui aiment démêler les choses enchevêtrées et découvrir des merveilles cachées dans un désordre apparent.

    C'est comme chercher des aiguilles dans des meules de foin; seulement que les data scientists n'ont pas du tout besoin de se salir les mains. En utilisant des outils sophistiqués avec des graphiques colorés et en examinant des tas de chiffres, ils se contentent de plonger dans des piles de foin de données et de trouver des aiguilles précieuses sous la forme d'informations à haute valeur commerciale.

    Une typique Data Scientist la boîte à outils doit inclure au moins un élément de chacune de ces catégories: bases de données relationnelles, bases de données NoSQL, frameworks Big Data, outils de visualisation, outils de scraping, langages de programmation, IDE et l'apprentissage en profondeur outils.

    Bases de données relationnelles

    Une base de données relationnelle est une collection de données structurées en tables avec des attributs. Les tables peuvent être liées les unes aux autres, définissant des relations et des restrictions et créant ce qu'on appelle un modèle de données. Pour travailler avec des bases de données relationnelles, vous utilisez généralement un langage appelé SQL (Structured Query Language).

    Les applications qui gèrent la structure et les données dans les bases de données relationnelles sont appelées RDBMS (Relational DataBase Management Systems). Il existe de nombreuses applications de ce type, et les plus pertinentes ont récemment commencé à se concentrer sur le domaine de la science des données, en ajoutant des fonctionnalités pour travailler avec des référentiels de Big Data et pour appliquer des techniques telles que l'analyse de données et l'apprentissage automatique.

    SQL Server

    Cette l'un est le SGBDR de Microsoft, qui évolue depuis plus de 20 ans en étendant constamment ses fonctionnalités d'entreprise. Depuis sa version 2016, SQL Server propose un portefeuille de services incluant la prise en charge du code R. intégré. SQL Server 2017 relève le pari en renommant ses services R en services de langage machine et en ajoutant la prise en charge du langage Python (plus d'informations sur ces deux langues ci-dessous).

    Avec ces ajouts importants, SQL Server s'adresse aux spécialistes des données qui n'ont peut-être pas d'expérience avec Transact SQL, le langage de requête natif de Microsoft SQL Server.

    SQL Server est loin d'être un produit gratuit. Vous pouvez acheter des licences pour l'installer sur un serveur Windows (le prix variera en fonction du nombre d'utilisateurs simultanés) ou l'utiliser comme service payant, via le cloud Microsoft Azure. L'apprentissage de Microsoft SQL Server est facile.

    MySQL

    Du côté des logiciels open source, MySQL a la couronne de popularité des SGBDR. Bien qu'Oracle le possède actuellement, il est toujours gratuit et open-source sous les termes d'une licence publique générale GNU. La plupart des applications Web utilisent MySQL comme référentiel de données sous-jacent, grâce à sa conformité avec la norme SQL.

    Ses procédures d'installation faciles, sa grande communauté de développeurs, des tonnes de documentation complète et des outils tiers, tels que phpMyAdmin, qui simplifient les activités de gestion quotidiennes, contribuent également à sa popularité. Bien que MySQL n'ait pas de fonctions natives pour effectuer l'analyse des données, son ouverture permet son intégration avec presque tous les outils de visualisation, de reporting et de business intelligence que vous pouvez choisir.

    PostgreSQL

    Une autre option de SGBDR open source est PostgreSQL. Bien qu'il ne soit pas aussi populaire que MySQL, PostgreSQL se distingue par sa flexibilité et son extensibilité, et sa prise en charge des requêtes complexes, celles qui vont au-delà des instructions de base telles que SELECT, WHERE et GROUP BY.

    Ces fonctionnalités lui permettent de gagner en popularité parmi les scientifiques des données. Une autre caractéristique intéressante est la prise en charge de multi-environnements, qui lui permet d'être utilisé dans des environnements cloud et sur site, ou dans un mélange des deux, communément appelés environnements cloud hybrides.

    PostgreSQL est capable de combiner le traitement analytique en ligne (OLAP) avec le traitement des transactions en ligne (OLTP), fonctionnant dans un mode appelé traitement transactionnel / analytique hybride (HTAP). Il est également bien adapté pour travailler avec du Big Data, grâce à l'ajout de PostGIS pour les données géographiques et de JSON-B pour les documents. PostgreSQL prend également en charge les données non structurées, ce qui leur permet d'être dans les deux catégories: bases de données SQL et NoSQL.

    Bases de données NoSQL

    Également appelé bases de données non relationnelles, ce type de référentiel de données offre un accès plus rapide aux structures de données non tabulaires. Quelques exemples de ces structures sont des graphiques, des documents, des colonnes larges, des valeurs clés, entre autres. Les magasins de données NoSQL peuvent mettre de côté la cohérence des données au profit d'autres avantages, tels que la disponibilité, le partitionnement et la vitesse d'accès.

    Puisqu'il n'y a pas de SQL dans les magasins de données NoSQL, la seule façon d'interroger ce type de base de données est d'utiliser des langages de bas niveau, et il n'y a pas de langage aussi largement accepté que SQL. De plus, il n'y a pas de spécifications standard pour NoSQL. C'est pourquoi, ironiquement, certaines bases de données NoSQL commencent à ajouter la prise en charge des scripts SQL.

    MongoDB

    MongoDB est un système de base de données NoSQL populaire, qui stocke les données sous la forme de documents JSON. Il se concentre sur l'évolutivité et la flexibilité de stocker des données de manière non structurée. Cela signifie qu'il n'y a pas de liste de champs fixes à observer dans tous les éléments stockés. De plus, la structure des données peut être modifiée au fil du temps, ce qui dans une base de données relationnelle implique un risque élevé d'affecter les applications en cours d'exécution.

    La technologie de MongoDB permet l'indexation, les requêtes ad hoc et l'agrégation qui fournissent une base solide pour l'analyse des données. La nature distribuée de la base de données offre une haute disponibilité, une mise à l'échelle et une distribution géographique sans avoir besoin d'outils sophistiqués.

    Redis

    Cette l'une est une autre option sur le front open-source, NoSQL. Il s'agit essentiellement d'un magasin de structure de données qui fonctionne en mémoire et, en plus de fournir des services de base de données, il fonctionne également comme mémoire cache et courtier de messages.

    Il prend en charge une myriade de structures de données non conventionnelles, notamment des hachages, des index géospatiaux, des listes et des ensembles triés. Il est bien adapté à la science des données grâce à ses hautes performances dans les tâches gourmandes en données, telles que le calcul des intersections d'ensembles, le tri de longues listes ou la génération de classements complexes. La raison des performances exceptionnelles de Redis est son fonctionnement en mémoire. Il peut être configuré pour conserver les données de manière sélective.

    Cadres Big Data

    Supposons que vous deviez analyser les données générées par les utilisateurs de Facebook pendant un mois. Nous parlons de photos, de vidéos, de messages, tout cela. Compte tenu du fait que plus de 500 téraoctets de données sont ajoutés chaque jour au réseau social par ses utilisateurs, il est difficile de mesurer le volume représenté par un mois entier de ses données.

    Pour manipuler cette énorme quantité de données de manière efficace, vous avez besoin d'un cadre approprié capable de calculer des statistiques sur une architecture distribuée. Il existe deux des frameworks qui dominent le marché: Hadoop et Spark.

    Hadoop

    En tant que cadre Big Data, Hadoop traite des complexités associées à la récupération, au traitement et au stockage d'énormes piles de données. Hadoop fonctionne dans un environnement distribué, composé de grappes d'ordinateurs qui traitent des algorithmes simples. Il existe un algorithme d'orchestration, appelé MapReduce, qui divise les grandes tâches en petites parties, puis répartit ces petites tâches entre les clusters disponibles.

    Hadoop est recommandé pour les référentiels de données d'entreprise qui nécessitent un accès rapide et une haute disponibilité, le tout dans un schéma à faible coût. Mais vous avez besoin d'un administrateur Linux avec une Connaissance Hadoop pour maintenir le cadre en place et pour fonctionner.

    Spark

    Hadoop n'est pas le seul framework disponible pour la manipulation de Big Data. Un autre grand nom dans ce domaine est Susciter. Le moteur Spark a été conçu pour surpasser Hadoop en termes de vitesse d'analyse et de facilité d'utilisation. Apparemment, il a atteint cet objectif: certaines comparaisons indiquent que Spark fonctionne jusqu'à 10 fois plus vite que Hadoop lorsque vous travaillez sur un disque, et 100 fois plus rapide en mémoire. Cela nécessite également un plus petit nombre de machines pour traiter la même quantité de données.

    Outre la vitesse, un autre avantage de Spark est sa prise en charge du traitement de flux. Ce type de traitement de données, également appelé traitement en temps réel, implique une entrée et une sortie continues de données.

    Outils de visualisation

    Une blague courante entre les scientifiques des données dit que si vous torturez les données assez longtemps, cela confessera ce que vous devez savoir. Dans ce cas, «torturer» signifie manipuler les données en les transformant et en les filtrant, afin de mieux les visualiser. Et c'est là que les outils de visualisation de données entrent en scène. Ces outils prennent des données prétraitées provenant de sources multiples et montrent leurs vérités révélées sous des formes graphiques compréhensibles.

    Il existe des centaines d'outils qui entrent dans cette catégorie. Qu'on le veuille ou non, le plus utilisé est Microsoft Excel et ses outils graphiques. Les graphiques Excel sont accessibles à toute personne utilisant Excel, mais leurs fonctionnalités sont limitées. La même chose s'applique aux autres applications de feuille de calcul, telles que Google Sheets et Libre Office. Mais nous parlons ici d'outils plus spécifiques, spécialement conçus pour la Business Intelligence (BI) et l'analyse de données.

    Power BI

    Il n'y a pas longtemps, Microsoft a publié son Power BI application de visualisation. Il peut prendre des données de diverses sources, telles que des fichiers texte, des bases de données, des feuilles de calcul et de nombreux services de données en ligne, y compris Facebook et Twitter, et les utiliser pour générer des tableaux de bord contenant des graphiques, des tableaux, des cartes et de nombreux autres objets de visualisation. Les objets du tableau de bord sont interactifs, ce qui signifie que vous pouvez cliquer sur une série de données dans un graphique pour la sélectionner et l'utiliser comme filtre pour les autres objets du tableau.

    Power BI est une combinaison d'une application de bureau Windows (faisant partie de la suite Office 365), d'une application Web et d'un service en ligne pour publier les tableaux de bord sur le Web et les partager avec vos utilisateurs. Le service vous permet de créer et de gérer des autorisations pour accorder l'accès aux tableaux uniquement à certaines personnes.

    Tableau

    Tableau est une autre option pour créer des tableaux de bord interactifs à partir d'une combinaison de plusieurs sources de données. Il propose également une version de bureau, une version Web et un service en ligne pour partager les tableaux de bord que vous créez. Il fonctionne naturellement «avec votre façon de penser» (comme il le prétend), et il est facile à utiliser pour les personnes non techniques, ce qui est amélioré grâce à de nombreux tutoriels et vidéos en ligne.

    Certaines des fonctionnalités les plus remarquables de Tableau sont ses connecteurs de données illimités, ses données en direct et en mémoire et ses conceptions optimisées pour les mobiles.

    QlikView

    QlikView offre une interface utilisateur claire et simple pour aider les analystes à découvrir de nouvelles informations à partir de données existantes grâce à des éléments visuels facilement compréhensibles pour tous.

    Cet outil est connu pour être l'une des plateformes de veille stratégique les plus flexibles. Il fournit une fonctionnalité appelée Recherche associative, qui vous aide à vous concentrer sur les données les plus importantes, vous faisant gagner du temps pour les trouver par vous-même.

    Avec QlikView, vous pouvez collaborer avec des partenaires en temps réel, en effectuant des analyses comparatives. Toutes les données pertinentes peuvent être combinées dans une seule application, avec des fonctionnalités de sécurité qui limitent l'accès aux données.

    Outils de grattage

    À l'époque où Internet commençait à peine à émerger, les robots d'exploration ont commencé à voyager avec les réseaux pour recueillir des informations sur leur chemin. À mesure que la technologie évoluait, le terme d'exploration Web a changé pour grattage web, mais toujours la même signification: pour extraire automatiquement les informations des sites Web. Pour faire du scraping Web, vous utilisez des processus automatisés, ou bots, qui passent d'une page Web à une autre, en extrayant des données et en les exportant vers différents formats ou en les insérant dans des bases de données pour une analyse plus approfondie.

    Ci-dessous, nous résumons les caractéristiques de trois des scrapers Web les plus populaires disponibles aujourd'hui.

    Octoparse

    Octoparse Web Scraper offre des caractéristiques intéressantes, notamment des outils intégrés pour obtenir des informations à partir de sites Web qui ne facilitent pas le scraping des robots pour faire leur travail. Il s'agit d'une application de bureau qui ne nécessite aucun codage, avec une interface utilisateur conviviale qui permet de visualiser le processus d'extraction via un concepteur de flux de travail graphique.

    Avec l'application autonome, Octoparse propose un service basé sur le cloud pour accélérer le processus d'extraction des données. Les utilisateurs peuvent bénéficier d'un gain de vitesse 4x à 10x lorsqu'ils utilisent le service cloud au lieu de l'application de bureau. Si vous vous en tenez à la version de bureau, vous pouvez utiliser Octoparse gratuitement. Mais si vous préférez utiliser le service cloud, vous devrez choisir l'un de ses forfaits payants.

    Content Grabber

    Si vous recherchez un outil de grattage riche en fonctionnalités, vous devriez jeter un œil sur Saisie de contenu. Contrairement à Octoparse, pour utiliser Content Grabber, il est nécessaire d'avoir des compétences avancées en programmation. En échange, vous bénéficiez de l'édition de scripts, des interfaces de débogage et d'autres fonctionnalités avancées. Avec Content Grabber, vous pouvez utiliser les langages .Net pour écrire des expressions régulières. De cette façon, vous n'avez pas à générer les expressions à l'aide d'un outil intégré.

    L'outil propose une API (Application Programming Interface) que vous pouvez utiliser pour ajouter des capacités de scraping à vos applications de bureau et Web. Pour utiliser cette API, les développeurs doivent obtenir l'accès au service Windows Content Grabber.

    ParseHub

    Ce grattoir peut gérer une liste complète de différents types de contenu, y compris des forums, des commentaires imbriqués, des calendriers et des cartes. Il peut également traiter des pages contenant de l'authentification, du Javascript, de l'Ajax, etc. ParseHub peut être utilisé comme une application Web ou une application de bureau capable de fonctionner sous Windows, macOS X et Linux.

    Comme Content Grabber, il est recommandé d'avoir des connaissances en programmation pour tirer le meilleur parti de ParseHub. Il a une version gratuite, limitée à 5 projets et 200 pages par exécution.

    Langages de programmation

    Tout comme le langage SQL mentionné précédemment est spécialement conçu pour fonctionner avec des bases de données relationnelles, il existe d'autres langages créés avec un accent clair sur la science des données. Ces langages permettent aux développeurs d'écrire des programmes qui traitent des analyses massives de données, telles que des statistiques et machine learning.

    SQL est également considéré comme une compétence importante que les développeurs devraient avoir pour faire de la science des données, mais c'est parce que la plupart des organisations ont encore beaucoup de données sur des bases de données relationnelles. Les «vrais» langages de science des données sont R et Python.

    Python

    Python est un langage de programmation de haut niveau, interprété et polyvalent, bien adapté au développement rapide d'applications. Il a une syntaxe simple et facile à apprendre qui permet une courbe d'apprentissage abrupte et des réductions des coûts de maintenance du programme. Il existe de nombreuses raisons pour lesquelles il s'agit du langage préféré pour la science des données. Pour n'en citer que quelques-uns: potentiel de script, verbosité, portabilité et performances.

    Cette langue est un bon point de départ pour les data scientists qui envisagent d'expérimenter beaucoup avant de se lancer dans le travail réel et dur de traitement des données, et qui souhaitent développer des applications complètes.

    R

    Le Langue R est principalement utilisé pour le traitement des données statistiques et la représentation graphique. Bien qu'il ne soit pas destiné à développer des applications à part entière, comme ce serait le cas pour Python, R est devenu très populaire ces dernières années en raison de son potentiel pour l'exploration de données et l'analyse de données.

    Grâce à une bibliothèque sans cesse croissante de packages disponibles gratuitement qui étendent ses fonctionnalités, R est capable d'effectuer toutes sortes de travaux de traitement des données, y compris la modélisation linéaire / non linéaire, la classification, les tests statistiques, etc.

    Ce n'est pas une langue facile à apprendre, mais une fois que vous aurez pris connaissance de sa philosophie, vous ferez du calcul statistique comme un pro.

    IDE

    Si vous envisagez sérieusement de vous consacrer à la science des données, vous devrez choisir avec soin un environnement de développement intégré (IDE) qui répond à vos besoins, car vous et votre IDE passerez beaucoup de temps à travailler ensemble.

    Un idéal IDE devrait rassembler tous les outils dont vous avez besoin dans votre travail quotidien en tant que codeur: un éditeur de texte avec coloration syntaxique et saisie semi-automatique, un débogueur puissant, un navigateur d'objets et un accès facile aux outils externes. De plus, il doit être compatible avec la langue de votre préférence, c'est donc une bonne idée de choisir votre IDE après avoir connu la langue que vous allez utiliser.

    Spyder

    Cette L'EDI générique est principalement destiné aux scientifiques et aux analystes qui ont également besoin de coder. Pour les rendre confortables, il ne se limite pas à la fonctionnalité IDE - il fournit également des outils d'exploration / visualisation des données et d'exécution interactive, comme on peut le trouver sur un package scientifique. L'éditeur de Spyder prend en charge plusieurs langues et ajoute un navigateur de classes, un fractionnement de fenêtre, un saut à la définition, un achèvement automatique du code et même un outil d'analyse de code.

    Le débogueur vous aide à tracer chaque ligne de code de manière interactive, et un profileur vous aide à trouver et à éliminer les inefficacités.

    PyCharm

    Si vous programmez en Python, il y a de fortes chances que votre IDE de choix soit PyCharm. Il dispose d'un éditeur de code intelligent avec recherche intelligente, complétion de code, détection et correction des erreurs. En un seul clic, vous pouvez passer de l'éditeur de code à n'importe quelle fenêtre contextuelle, y compris le test, la super méthode, l'implémentation, la déclaration, etc. PyCharm prend en charge Anaconda et de nombreux packages scientifiques, tels que NumPy et Matplotlib, pour n'en nommer que deux.

    Il offre une intégration avec les systèmes de contrôle de version les plus importants, ainsi qu'avec un testeur, un profileur et un débogueur. Pour conclure l'accord, il s'intègre également à Docker et Vagrant pour permettre le développement et la conteneurisation multiplateformes.

    RStudio

    Pour les data scientists qui préfèrent l'équipe R, l'IDE de choix devrait être RStudio, en raison de ses nombreuses fonctionnalités. Vous pouvez l'installer sur un bureau avec Windows, macOS ou Linux, ou vous pouvez l'exécuter à partir d'un navigateur Web si vous ne souhaitez pas l'installer localement. Les deux versions offrent des avantages tels que la coloration syntaxique, l'indentation intelligente et la complétion de code. Il existe une visionneuse de données intégrée qui est pratique lorsque vous devez parcourir des données tabulaires.

    Le mode de débogage permet de visualiser la manière dont les données sont mises à jour dynamiquement lors de l'exécution d'un programme ou d'un script étape par étape. Pour le contrôle de version, RStudio intègre la prise en charge de SVN et Git. Un avantage appréciable est la possibilité de créer des graphiques interactifs, avec Shiny et donne des bibliothèques.

    Votre boîte à outils personnelle

    À ce stade, vous devriez avoir une vue complète des outils que vous devez connaître pour exceller dans la science des données. En outre, nous espérons vous avoir donné suffisamment d'informations pour décider quelle est l'option la plus pratique dans chaque catégorie d'outils. Maintenant, ça ne depent que de toi. La science des données est un domaine florissant où développer une carrière. Mais si vous le souhaitez, vous devez suivre les changements de tendances et de technologies, car ils se produisent presque quotidiennement.