Category Archives for Uncategorized

Qualité des données : Quels critères ?

Bonjour les Data Scientist ! Dans cet article, j’ai envie de vous exposer la notion de qualité des données qui est très importantes. Il faut absolument connaitre tous les critères de la qualité des données avant même de penser aux modèles de Machine Learning. 

Souvent, vous entendrez que la clé d’un bon modele de Machine Learning est la qualité des données utiliser pour l’entrainer. Donc, aujourd’hui je vais vous aider a déterminer la qualité de ces données en vous donnons les critères clés à vérifier.

Donc, allons directement voir les critères de qualité des donnes.

Validité

Le premier critère est le degré de conformité des données aux règles ou contraintes définies. Ces contraintes concernent :

  1. Les types de données: les valeurs d’une colonne doivent être d’un type de données particulier, par exemple, numérique, date, etc.
  2. Contraintes de plage: par exemple, les nombres doivent être compris dans une plage donnée.
  3. Contraintes obligatoires : par exemple certaines colonnes ne peuvent pas être vide. 
  4. Unicité: un champ ou plusieurs champs combinés doit être unique dans un dataset.
  5. Clé étrangère : comme pour les bases de données relationnelles, la colonne de clé étrangère ne peut pas avoir une valeur qui n’existe pas dans la clé primaire référencée.
  6. Motifs d’expression régulière: concernent des champs de textes doivent respecte un format précis. Exemple les numéros de téléphone qui doivent respecte le format (+33) 6 66 66 66 66.
  7. Validation entre champs: concernent des conditions qui doivent être remplies. Par exemple, un date de décès ne pas être avant une date de naissance de la même personne.

Précision

Ici la première des choses à avoir en tête est la différence entre exactitude et validité. Par exemple, dire que vous vivez en Europe est, certes, vrai. Cependant, cette réponse n’est pas précise.

Donc, ce qu’on doit vérifier est la précision des données et non seulement leurs exactitudes.

Cette tache n’est clairement pas simple. Car définir toutes les valeurs valides possibles permet de repérer facilement les valeurs non valides, cela ne signifie pas pour autant qu’elles sont exactes et encore moins qu’elles sont précis.

Complétude

On est souvent confrontes à cette problématique des valeurs manquantes qui rend nos données incomplets.

On peut atténuer cette problématique en nous assurant d’utiliser une bonne source de données. Il est possible de résoudre ce problème en discutant directement avec les propriétaires des données. Par exemple, dans une société d’assurance on peut avoir des contrats d’assurance manquants dans la base de donnes mais le service commercial a ses propres systèmes ce qui permettra de retrouver toutes les données manquantes.

Cohérence

qualité de données Cohérence ou Incohérence ?

Cohérence ou Incohérence ?

Ici, on parle du degré de cohérence des données, dans le même dataset ou entre plusieurs datasets.

Une incohérence est le fruit a deux ou plusieurs données contradictoire dans le même dataset.

Par exemple, dans une base de donnes, on ne peut pas avoir un enfant de 8 ans dont le statut marital est divorce. Incohérence !!

Uniformité

Dans un dataset les donnes doivent utiliser les mêmes normes. Par exemple les mêmes unités de mesure.

Le poids peut être entré en livres ou en kilos. La date peut suivre le format européen ou le format américain. 

Evitez de mélanger plusieurs unités de mesures dans le mêmes dataset.

 

Data Visualisation sur R: les packages a connaître

Quand il s’agit de présenter des résultats à un public non technique, une bonne visualisation vaut plus que des centaines de mots. R possède de grandes faculté en visualisation de données. Aujourd’hui dans le référentiel CRAN des packages R, le nombre de packages disponibles dépasse maintenant 12 000. Cela signifie qu’il existe des packages pour quasiment toutes les sortes de visualisation de données imaginables, de la visualisation des génomes du cancer à la représentation graphique de l’action d’une entreprise. Pour les codeurs débutant avec R, ou ceux qui cherchent à améliorer leurs analyses de données R, le référentiel de CRAN peut sembler être un problème de riche – il existe tellement de paquets de visualisation de données disponibles qu’il est difficile de savoir lequel choisir.

Afin de vous aider durant votre quête de la data visualisation, nous vous proposons aujourd’hui un aperçu de plusieurs packages de visualisation de données R interdisciplinaires utiles. Nous avons noté ceux que vous pouvez essayer sans avoir à exécuter R localement, à l’aide des Notebooks Mode R.

Résultat de recherche d'images pour "ggplot r"

Ggplot2

Bien qu’il soit assez facile de créer des graphes standard dans R, si vous devez créer une courbe personnalisée, les choses peuvent se corser très rapidement. C’est dans ce but que ggplot2 est né: faciliter la création de tracés personnalisées.

Pour citer le créateur de ggplot2, ggplot2 “prend en charge de nombreux détails fastidieux qui compliquent le traçage (comme dessiner des légendes), tout en fournissant un puissant modèle graphique facilitant la production de graphiques complexes multicouches.”

Ggplot2 est construit sur The Grammar of Graphics, un système permettant de comprendre les graphiques composés de diverses couches créant ensemble un tracé complet. Avec ggplot2, il est possible de commencer à créer votre tracé avec des axes, puis de rajouter des points, puis une ligne, un intervalle de confiance, etc.

Le majeur inconvénient de ggplot2 est qu’il peut être plus lent que la base R, et les nouveaux codeurs  peuvent trouver la courbe d’apprentissage un peu raide. Mais une grande partie de la communauté  R affirme qu’apprendre à maîtriser ggplot2 et le mode de traitement inversé des données rapportera d’énormes profits à tout data scientist.

 

Résultat de recherche d'images pour "lattice r"

LATTICE

https://cran.r-project.org/web/packages/lattice/index.html

Lattice facilite la visualisation des data sets, des jeux de donnees, a multi-variables. Lattice est un système de tracé inspiré des graphiques Trellis. Lattice aide à concevoir des mosaïque de graphiques pour comparer différentes valeurs ou sous-groupes d’une variable donnée. Cette librairie a été construite en utilisant le paquet grid pour son implémentation sous-jacente et a hérité de nombreuses fonctionnalités de grid.

Contrairement aux graphiques de base R, les graphiques en réseau ne sont pas affectés par la plupart des options définies dans la fonction par (). Pour afficher les options pouvant être modifiées, consultez l’aide (xyplot). Il est souvent plus facile de définir ces options dans les fonctions de traçage de haut niveau décrites ci-dessus. De plus, vous pouvez écrire des fonctions qui modifient le rendu des mosaïques.

Résultat de recherche d'images pour "plotly r"

Plotly

https://plot.ly/r/

Plotly est une librairie javascript et D3js avec une API R. L’API est très simple d’utilisation car sa syntaxe est similaire à celle de ggplot2. Il est par ailleurs possible de passer un ggplot comme argument à la fonction ggplotly pour le rendre interactif. C’est probablement le paquet le plus facile à utiliser pour les plots interactifs. Ce package est open source, vous pouvez donc l’utiliser gratuitement. Cependant, lorsque vous avez beaucoup de points à tracer, cette visualisation peut être lente.

Résultat de recherche d'images pour "sunburst r"

SunburstR

https://cran.r-project.org/web/packages/sunburstR/index.html

Les graphiques Sunburst sont parfaits pour la visualisation de données décrivant des séquences d’événements, des données sportives aux flux d’utilisateurs via un produit. Avec SunburstR, il est possible de concevoir des graphes R de toutes les sortes. Les diagrammes sont interactifs, offrant aux utilisateurs un moyen puissant d’explorer eux-mêmes des données.

Résultat de recherche d'images pour "Dygraphs r"

Dygraphs

Dygraphs aide à tracer des séries temporelles, time series, et des données financières. Ce package est basé sur le package javascript de Dygraph. C’est un moyen facile de tracer des objets xts et xts-like dans des diagrammes interactifs et des graphiques en chandeliers. Il offre un moyen simple de synchroniser et de zoomer sur les séries chronologiques et présente l’énorme avantage d’être relativement réactif. Il est indispensable de tracer des séries chronologiques, même à partir de grands ensembles de données.

L’interactivité de Dygraph ne se fait pas au détriment de la vitesse: il peut gérer d’énormes jeux de données contenant des millions de points sans ralentir son déroulement. Et vous pouvez utiliser RColorBrewer avec des dygraphes pour choisir une palette de couleurs différente pour votre série temporelle.

Résultat de recherche d'images pour "Highcharter r"

Highcharter

http://jkunst.com/highcharter/ 

Highcharter est un package R de la librairie highcharts.js, qui est capable d’afficher la plupart des tracés que vous souhaitez créer. Il offre des options de personnalisation si vous connaissez le langage Javascript. Ce package peut être un bon substitut si Plotly n’est pas assez performant. Par exemple, avec Highcharts, vous pouvez facilement créer des niveaux de détail, des zooms et des graphiques à secteurs. Highcharter est également fourni avec la bibliothèque Highstocks pour tracer des données financières sous forme de graphique en chandelier japonais par exemple. Le paquet contient des thèmes faciles à personnaliser.


Les principaux inconvénients du paquet proviennent de la licence. Comme Highcharts.js n’est pas gratuit pour un usage commercial, vous ne pouvez pas utiliser Highcharter si vous n’avez pas de licence.

Résultat de recherche d'images pour "rgl r"

RGL

https://cran.r-project.org/web/packages/rgl/index.html

Si vous voulez créer des graphiques 3D, interactifs, en R, RGL est un excellent package. Sa logique est calquée sur les graphiques de base R, mais en trois dimensions plutôt que deux. Comme Lattice, il est inspiré du paquet grid, de sorte que ses méthodes devraient paraitre familières aux programmeurs R expérimentés.

RGL propose de nombreuses options intéressantes, notamment une grande variété de formes 3D, d’effets d’éclairage, divers effets matériaux pour les objets et même la possibilité de créer une animation de votre scène 3D. Ce package est plutôt complet et simple d’utilisation ce qui en fait une valeur sure dans la communauté des programmeurs R.

Pour la visualisation sur python cliquez ici

 

>