1 Ingénierie des données : Chapitre III Chapitre III : Qualité des données R. A
1 Ingénierie des données : Chapitre III Chapitre III : Qualité des données R. Abdelfattah École Supérieure des Communications Riadh ABDELFATTAH École supérieure des Communications riadh.abdelfattah@supcom.tn 2 Ingénierie des données : Chapitre III Plan 1. Introduction : Importance de nettoyage des données 2. Nettoyage des données (en double, incohérentes, aberrantes,…) R. Abdelfattah École Supérieure des Communications aberrantes,…) 3. Echantillonnage et discrétisation 4. Intégration et agrégation 3 Ingénierie des données : Chapitre III 1. Introduction Les outils d’enseignements des compétences appliquées en sciences de données • Python, • Les langages d'analyse statistique spécialisés comme R, • Les langages de programmation plus généraux comme Java et C. R. Abdelfattah École Supérieure des Communications Pourquoi Python ? • facile à apprendre. • le langage de choix pour initier les étudiants universitaires à la programmation. • Il est utilisé dans huit des 10 meilleurs programmes d'informatique des États-Unis (CACM) et 6/10 dans le monde ! 4 Ingénierie des données : Chapitre III 1. Introduction Pourquoi Python ? • facile à apprendre : Couvre tous les aspects relatives aux données : un langage de programmation très général avec beaucoup de bibliothèques intégrées et bien adapté pour la manipulation des données, la R. Abdelfattah École Supérieure des Communications intégrées et bien adapté pour la manipulation des données, la programmation réseau et les bases de données. Dispose d'un ensemble important de bibliothèques de science des données que l'on peut utiliser : la base de ceux-ci est appelée l'écosystème SCIPy, 5 Ingénierie des données : Chapitre III 1. Introduction Manipulation des données Bibliothèque Pandas sous Python Objectifs R. Abdelfattah École Supérieure des Communications comment acquérir des données, comment nettoyer des données, comment manipuler et assembler des données ensemble, comment faire des inférences de base sur ces données. 6 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données Typage dynamique : pas nécessaire de déclarer les variables avant de pouvoir leur affecter une valeur int (entier) float (flottant) str (chaîne de caractères) bool (booléen) R. Abdelfattah École Supérieure des Communications 7 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données Typage dynamique : pas nécessaire de déclarer les variables avant de pouvoir leur affecter une valeur list (liste) R. Abdelfattah École Supérieure des Communications complex (complexe) 8 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données Typage dynamique : pas nécessaire de déclarer les variables avant de pouvoir leur affecter une valeur None (type de donnée objet) R. Abdelfattah École Supérieure des Communications 9 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données Séquences : En Python, les séquences sont un terme générique pour un ensemble ordonné, ce qui signifie que l'ordre dans lequel nous saisissons les éléments sera le même lorsque nous y accéderons. R. Abdelfattah École Supérieure des Communications Python prend en charge six types de séquences différents. Ce sont des : 1. Chaînes (strings), 2. Listes (lists), 3. Tuples (tuples), 4. Séquences d'octets (byte sequences), 5. Tableaux d'octets (byte arrays) 6. Objets de plage (range objects). 10 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données 1. Chaînes (strings) : Une chaîne est un groupe des caractères écrits entre guillemets simples ou doubles. Les chaînes sont de nature immuable, nous pouvons donc réaffecter une variable à une nouvelle chaîne, mais nous ne pouvons apporter aucune modification à la chaîne. R. Abdelfattah École Supérieure des Communications 11 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données 2. Listes (lists) : Les listes Python sont similaires à un tableau mais elles nous permettent de créer une collection hétérogène d'éléments à l'intérieur d'une liste. Une liste peut contenir des nombres, des chaînes, des listes, des tuples, des dictionnaires, des objets, etc. Les listes sont déclarées en utilisant des crochets [ ] autour des éléments séparés par des virgules. Elles sont mutables de sorte que vous pouvez changer leur longueur, le R. Abdelfattah École Supérieure des Communications des virgules. Elles sont mutables de sorte que vous pouvez changer leur longueur, le nombre d'éléments et les valeurs d'élément. 12 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données 2. Listes (lists) : Remarque : Les chaînes ne sont que des listes de caractères. Ainsi, les opérations que vous pouvez faire sur une liste, vous pouvez faire sur une chaîne. R. Abdelfattah École Supérieure des Communications 13 Ingénierie des données : Chapitre III 2.1 Principaux types de données 3. Tuples ou p-uplet (tuples) : Un tuple est une séquence d'objets Python. Un tuple est créé en séparant les éléments par une virgule. Ils peuvent être éventuellement mis entre parenthèses ( ) mais il est nécessaire de mettre des parenthèses dans un tuple vide. Un tuple d'élément unique doit utiliser une virgule à la fin. 2. Nettoyage des données R. Abdelfattah École Supérieure des Communications virgule à la fin. Les tuples sont également immuables comme les chaînes, nous ne pouvons donc que réaffecter la variable, mais pas modifier, ajouter ou supprimer des éléments du tuple. 14 Ingénierie des données : Chapitre III 2.1 Principaux types de données 3. Tuples ou p-uplet (tuples) 2. Nettoyage des données R. Abdelfattah École Supérieure des Communications Les listes et les tuples et les chaînes peuvent également être accessibles, comme peuvent l’être les tableaux dans d'autres langages, en utilisant l'opérateur de crochets [ ], qui est appelé l'opérateur d'indexation. 15 Ingénierie des données : Chapitre III 2.1 Principaux types de données 3. Tuples ou p-uplet (tuples) 2. Nettoyage des données Remarque 1 : Tout comme les listes et les tuples, les dictionnaires contiennent une collection d'éléments. Toutefois, cette collection est non structurée et par conséquent n’ont pas d'ordre. Cela signifie que pour chaque valeur dans le dictionnaire il faudra une clé pour obtenir cette valeur. R. Abdelfattah École Supérieure des Communications 16 Ingénierie des données : Chapitre III 2.1 Principaux types de données 3. Tuples ou p-uplet (tuples) 2. Nettoyage des données Remarque 1 : Exemple d’application sur les dictionnaires : R. Abdelfattah École Supérieure des Communications 17 Ingénierie des données : Chapitre III 2.1 Principaux types de données 3. Tuples ou p-uplet (tuples) 2. Nettoyage des données Remarque 2 : En python, on peut déballer (unpacking) une séquence (list ou tuples) dans différentes variables via l'affectation dans une instruction. Par convention, les valeurs inutiles dans un tableau des données peuvent être attribuées à _ (under score) en Python. Si le nombre de variables est inférieur au nombre d'éléments, l'ajout d'un astérisque * au nom de la variable R. Abdelfattah École Supérieure des Communications d'éléments, l'ajout d'un astérisque * au nom de la variable affectera les éléments ensemble sous forme de liste. 18 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données 4. Séquences d'octets (byte sequences) : La fonction bytes() en Python est utilisée pour renvoyer une séquence d'octets immuable. R. Abdelfattah École Supérieure des Communications 19 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données 5. Tableaux d'octets (byte arrays) : Les tableaux d'octets sont similaires aux séquences d'octets. La seule différence c’est que les tableaux d'octets sont modifiables tandis que les séquences d'octets sont immuables. Il renvoie également l'objet bytes de la même manière. R. Abdelfattah École Supérieure des Communications 20 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.1 Principaux types de données 6. Objets de plage (range objects) : range() est une fonction intégrée à Python qui renvoie un objet range. L'objet range n'est rien d'autre qu'une séquence d'entiers. Il génère les entiers dans la plage de démarrage et d'arrêt spécifiée. R. Abdelfattah École Supérieure des Communications 21 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.2 Lecture et écriture à partir et dans un fichier CSV 1. Manipulation des fichiers CSV Apprendre les bases de l'itération dans un fichier CSV pour créer des dictionnaires et collecter des statistiques récapitulatives. Le fichier de données mpgCoursera.csv, sujet de notre cours, contient les données d'économie (consommation) de carburant pour 234 voitures. R. Abdelfattah École Supérieure des Communications • mpg : miles per gallon • class : car classification • cty : city mpg • cyl : # of cylinders • displ : engine displacement in liters • drv : f = front-wheel drive, r = rear wheel drive, 4 = 4wd • fl : fuel (e = ethanol E85, d = diesel, r = regular, p = premium, c = CNG) • hwy : highway mpg • manufacturer : automobile manufacturer • model : model of car • trans : type of transmission • year : model year données d'économie (consommation) de carburant pour 234 voitures. 22 Ingénierie des données : Chapitre III 2. Nettoyage des données 2.2 Lecture et écriture à partir et dans un fichier CSV mpgCoursera.csv 1. Manipulation des fichiers CSV R. Abdelfattah École Supérieure des Communications 23 Ingénierie des données : uploads/Management/ chap3-ingenierie-des-donneesfinstudents.pdf
Documents similaires
-
14
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 04, 2021
- Catégorie Management
- Langue French
- Taille du fichier 1.6065MB