Vous êtes sur la page 1sur 4

Exercice 1:

➔ choisir des points de temps échantillonnés uniformément à des intervalles de 200ms de


façon aléatoire appartenant à l’intervalle [0,5]
➔ avec les fonctions t, t2 et t3
➔ avec un choix respectivement tirets rouges, carrés bleus et triangles verts

Exercice 2:
Soit un dictionary data avec 4 keywords ‘a’,’b’,’c’ et ‘d’ avec respectivement type int, float, int et
float et des valeurs suivant: de 0,1,…,49 ; les valeurs de ‘a’ additionner par 10 fois multiplier par
randn(50); 50 valeurs aléatoire appartenant à {0,1,….,50} et la valeur absolue des valeurs aléatoire
appartenant à {0,1,….,50} multiplier par 100
-Représentez ce dictionnaire data sous forme de nuage de points avec descouleurs différentes et
l’axe des X comme étiquette: ENTREE A et l’axe des Y comme étiquette ENTREE B
Exercice 3:
En donnant respectivement des valeurs 1,10 et 100 à des données qualitatives Classe1, Classe2 et
Classe3;
Tracez dans la même figure ungraphe de type Bar, un nuage de points et une ligne de données;
mettez comme titre de la figure: Traçage qualitative
Exercice 4:
définir la fonction exp(-x)*cos(2*π*x) et la fonction cos(3*π*y) avec x ∈[0,5] avec un pas de 0.1
et y ∈[0,5] avec un pas de 0.02
-tracer dans la même figure ces deux fonctions
- indiquez avec une flèche le minimum globale de la première fonction.
Exercice 5:
Donnez quatre tracés avec les mêmes données et des échelles différentes (Linéaire, log, semi-log et
logit) pour l'axe y

Exercice 6
- Visitez le site UCI https://archive.ics.uci.edu/.
- Lisez la description des données et
- Téléchargez l'ensemble de données sur Mushroom data set agaricus-lepiota.data.
- À l'aide de pandas, lisez les données dans un DataFrame appelé champignon, via read_csv.
(a) Combien de features y a-t-il dans cet ensemble de données ?
(b) Quels sont les noms initiaux et les types de ces features?
(c) Renommez feature (index 0) en « comestible » et le sixième (index 5) en « odeur » [Indice : les
noms de colonnes dans pandas sont immuables ; les colonnes individuelles ne peuvent donc pas être
modifiées directement. Cependant, il est possible d'attribuer la liste complète des noms de colonnes
via champignon.columns = newcols. ]
(d) La 6ème colonne répertorie les différentes odeurs des champignons :
codées comme « a », « c », . . . .
-Remplacez-les par les noms 'almond', 'creosote', etc. (les catégories correspondant à chaque lettre
sont disponibles sur le site Internet).
-Remplacez également les catégories edibility' categories 'e' et 'p' avec 'edible' et 'poisonous'..
(e) Faites un tableau de contingence croisant « comestibilité » et « odeur ».
(f) Quelles odeurs de champignons faut-il éviter lors de la cueillette des champignons destinés à la
consommation?
(g) Quelle proportion d’échantillons de champignons inodores pouvait être consommée sans
danger?
Exercice 7
Modifiez le type et la valeur des variables dans l'ensemble de données nutri.csv conformément au :
Qualitative:
gender, situation, fat
meat, fish, raw_fruit, cooked_fruit_veg, chocol
Discrete quantitative:
tea, coffee
Continuous quantitative:
height, weight, age
et enregistrez les données sous forme de fichier CSV. Les données modifiées doivent comporter huit
caractéristiques features, trois valeurs flottantes et deux entières.
Exercice 8:
Il arrive fréquemment qu'un tableau contenant des données doive être restructuré avant que les
données puissent être analysées à l'aide d'un logiciel statistique standard. À titre d'exemple,
considérons les résultats des tests du tableau 1 sur 5 étudiants avant et après les cours spécialisés.
Table 1:

Ce n'est pas dans le format standard décrit dans le cours. En particulier, les scores des étudiants sont
répartis sur deux colonnes, alors que le format standard exige qu'ils soient rassemblés dans une
seule colonne, par exemple intitulée «Score». Reformater le tableau au format standard,
en utilisant trois features:
• 'Score', prenant des valeurs continues,
• 'Time', en prenant les valeurs 'Before' et 'After',
• 'Étudiant', prenant les valeurs de 1 à 5.
Les méthodes utiles pour remodeler les tables chez les pandas sont melt, stack, et unstack.
Exercice 9:
Créez un barplot similaire à celui de le code 1, mais tracez maintenant les proportions
correspondantes d'hommes et de femmes dans chacune des trois catégories de situations.
#code 1
import seaborn as sns
sns. countplot (x='situation ', hue = 'gender ', data=nutri ,
hue_order = ['Male ', 'Female '], palette = ['SkyBlue ','Pink '],
saturation = 1, edgecolor ='black ')
plt. legend (loc='upper center ')
plt. xlabel ('')
plt. ylabel ('Counts ')
plt.show ()
Autrement dit, la somme des hauteurs des barres doit être égale à 1 pour les deux barplots ayant la
même valeur de « gender ». [Indice: Seaborn n’a pas cette fonctionnalité intégrée, vous devez
d'abord créer un tableau de contingence et utiliser matplotlib.pyplot pour produire la figure.]
Exercice 10:
L'ensemble de données sur l'iris, contient diverses features, notamment « Petal.Length » et «
Sepal.Length », de trois espèces d'iris : setosa, versicolor et virginica.
(a) Chargez l'ensemble de données dans un objet pandas DataFrame.
(b) À l'aide de matplotlib.pyplot, produisez des boxplots de « Petal.Length » pour chacune des trois
espèces, sur une seule figure.
(c) Créez un histogramme avec 20 cases pour «Petal.Length».
(d) Produisez un nuage de points similaire pour «Sepal.Length» par rapport à «Petal.Length» à celui
du graphique de gauche de la figure 1.9. Notez que les points doivent être colorés selon ‘Species’
feature , conformément à la légende dans le tracé de droite de la figure.
(e) En utilisant la méthode kdeplot du package seaborn, reproduisez le tracé de droite de la figure 1,
où les tracés de densité du noyau pour «Petal.Length» sont donnés.
Figure 1

Exercice 11:
Importez l'ensemble de données ‘EuStockMarkets’ à partir du même site Web que l'ensemble de
données ‘iris’ . L'ensemble de données contient les cours de clôture quotidiens de quatre indices
boursiers européens au cours des années 1990, pendant 260 jours ouvrables par an.
(a) Créez un vecteur de temps (jours ouvrables) pour les cours des actions, entre 1991,496 et
1998,646 avec des incréments de 1/260.
(b) Reproduisez la figure 2. [Note: utilisez un dictionnaire pour mapper les noms de colonnes
(indices boursiers) aux couleurs.]

Figure 2:

Exercice 12:
Considérez l'ensemble de données KASANDR du site UCI Machine Learning, qui peut être
téléchargé à partir de
https://archive.ics.uci.edu/ml/machine-learning-databases/00385/de.tar.bz2.
Ce fichier d'archive a une taille de 900 Mo, le téléchargement peut donc prendre un certain temps.
La décompression du fichier (par exemple via 7-Zip) donne un répertoire de contenant deux gros
fichiers CSV: test_de.csv et train_de.csv, avec des tailles respectives de 372 Mo et 3 Go. Des
fichiers de données aussi volumineux peuvent toujours être traités efficacement dans pandas, à
condition qu'il y ait suffisamment de mémoire. Les fichiers contiennent des enregistrements
d'informations sur les utilisateurs provenant des Web Kelkoo logs en Allemagne ainsi que des
métadonnées sur les utilisateurs, les offres et les commerçants. Les ensembles de données
comportent respectivement 7 attributs et 1919561 et 15844717 lignes. Les ensembles de données
sont anonymisés via des chaînes hexadécimales.
(a) Chargez train_de.csv dans un objet pandas DataFrame de, en utilisant :
read_csv('train_de.csv', délimiteur = '\t').
Si la mémoire disponible est insuffisante, chargez plutôt test_de.csv. Notez que les entrées sont
séparées ici par des tabulations et non par des virgules. Chronométrez le temps nécessaire au
chargement du fichier, à l'aide du package time. (Il a fallu 38 secondes pour que train_de.csv se
charge sur l'un de nos ordinateurs.)
(b) Combien d'utilisateurs uniques et de commerçants y a-t-il dans cet ensemble de données?
Exercice 13:
La visualisation de données impliquant plus de deux fonctionnalités features nécessite une
conception minutieuse, qui relève souvent plus d’un art que d’une science.
(a) Accédez au site Web de Vincent Arel-Bundocks (URL indiquée dans la section 1.1) et lisez
l'ensemble de données Orange dans un objet Pandas DataFrame appelé orange. Supprimez sa
première colonne (sans nom).
(b) L'ensemble de données contient les circonférences de 5 orangers à différents stades de leur
développement. Recherchez les noms des fonctionnalités.
(c) En Python, importez seaborn et visualisez les courbes de croissance (circonférence en fonction
de l'âge) des arbres, en utilisant les méthodes regplot et FacetGrid.

Vous aimerez peut-être aussi