Contenu du cours
Visualisation Ultime Avec Python
Visualisation Ultime Avec Python
Histogramme
Commençons par un histogramme. Les histogrammes sont utilisés pour représenter la distribution de fréquence ou de probabilité d'une variable donnée (distribution approximative) en utilisant des barres verticales de largeur égale (ou nous pouvons les appeler barres).
Le module pyplot
a une fonction spéciale appelée hist
pour créer un histogramme. Le premier et le seul paramètre requis est notre donnée (appelée x
) qui peut être soit un tableau, soit une séquence de tableaux. Si une séquence de tableaux est passée, les barres pour chaque tableau sont peintes en différentes couleurs. Voici un exemple simple pour vous :
import pandas as pd import matplotlib.pyplot as plt url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' # Loading the dataset with the average yearly temperatures in Boston and Seattle weather_df = pd.read_csv(url, index_col=0) # Creating a histogram plt.hist(weather_df['Seattle']) plt.show()
Intervalles et Hauteur
Nous avons passé un objet Series
, qui contient les températures moyennes annuelles à Seattle, dans la fonction hist()
. Notre échantillon a été divisé en 10
intervalles égaux par défaut, allant de la valeur minimale à la valeur maximale. Cependant, il n'y a que 9
barres, car il n'y a pas de valeurs appartenant au deuxième intervalle.
La hauteur de chaque barre par défaut est égale à la fréquence des valeurs dans cet intervalle (nombre de fois qu'elles apparaissent).
Nombre de Classes
Un autre paramètre important, mais optionnel, est bins
qui prend soit le nombre de classes (entier) soit une séquence de nombres spécifiant les bords des classes ou une chaîne de caractères. La plupart du temps, passer le nombre de classes est plus que suffisant.
Il existe plusieurs méthodes pour déterminer la largeur des classes (plus d'informations ici), mais ici nous utiliserons la formule de Sturges (écrite en Python) : bins = 1+int(np.log2(n))
où n est la taille de l'échantillon (la taille du tableau).
Voyons cela en action :
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Specifying the number of bins plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df)))) plt.show()
Le nombre de lignes dans le DataFrame
est de 26 (la taille de la Series
), donc le nombre de classes résultant est de 5.
Approximation de la Densité de Probabilité
Tout cela est bien, mais que faire si nous voulons examiner l'approximation de la densité de probabilité ? Tout ce que nous devons faire est de définir le paramètre density
à True
.
Maintenant, la hauteur de chaque barre sera le nombre de valeurs dans l'intervalle divisé par le produit du nombre total de valeurs (la taille de l'échantillon) et de la largeur de la barre. En conséquence, la somme des aires des barres sera égale à 1, ce qui est exactement ce que nous attendons d'une fonction de densité de probabilité.
Modifions maintenant notre exemple :
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Making a histogram a probability density function approximation plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df))), density=True) plt.show()
Nous avons maintenant une approximation de la fonction de densité de probabilité pour nos données de température.
Si vous souhaitez explorer davantage les paramètres de la fonction hist()
, vous pouvez consulter sa documentation.
Swipe to start coding
Votre tâche consiste à créer une approximation d'une fonction de densité de probabilité en utilisant un échantillon de la distribution normale standard :
- Utilisez la fonction correcte pour créer un histogramme.
- Utilisez
normal_sample
comme données pour l'histogramme. - Spécifiez le nombre de classes comme deuxième argument en utilisant la formule de Sturges.
- Faites de l'histogramme une approximation d'une fonction de densité de probabilité en spécifiant correctement l'argument le plus à droite.
Solution
Merci pour vos commentaires !
Histogramme
Commençons par un histogramme. Les histogrammes sont utilisés pour représenter la distribution de fréquence ou de probabilité d'une variable donnée (distribution approximative) en utilisant des barres verticales de largeur égale (ou nous pouvons les appeler barres).
Le module pyplot
a une fonction spéciale appelée hist
pour créer un histogramme. Le premier et le seul paramètre requis est notre donnée (appelée x
) qui peut être soit un tableau, soit une séquence de tableaux. Si une séquence de tableaux est passée, les barres pour chaque tableau sont peintes en différentes couleurs. Voici un exemple simple pour vous :
import pandas as pd import matplotlib.pyplot as plt url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' # Loading the dataset with the average yearly temperatures in Boston and Seattle weather_df = pd.read_csv(url, index_col=0) # Creating a histogram plt.hist(weather_df['Seattle']) plt.show()
Intervalles et Hauteur
Nous avons passé un objet Series
, qui contient les températures moyennes annuelles à Seattle, dans la fonction hist()
. Notre échantillon a été divisé en 10
intervalles égaux par défaut, allant de la valeur minimale à la valeur maximale. Cependant, il n'y a que 9
barres, car il n'y a pas de valeurs appartenant au deuxième intervalle.
La hauteur de chaque barre par défaut est égale à la fréquence des valeurs dans cet intervalle (nombre de fois qu'elles apparaissent).
Nombre de Classes
Un autre paramètre important, mais optionnel, est bins
qui prend soit le nombre de classes (entier) soit une séquence de nombres spécifiant les bords des classes ou une chaîne de caractères. La plupart du temps, passer le nombre de classes est plus que suffisant.
Il existe plusieurs méthodes pour déterminer la largeur des classes (plus d'informations ici), mais ici nous utiliserons la formule de Sturges (écrite en Python) : bins = 1+int(np.log2(n))
où n est la taille de l'échantillon (la taille du tableau).
Voyons cela en action :
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Specifying the number of bins plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df)))) plt.show()
Le nombre de lignes dans le DataFrame
est de 26 (la taille de la Series
), donc le nombre de classes résultant est de 5.
Approximation de la Densité de Probabilité
Tout cela est bien, mais que faire si nous voulons examiner l'approximation de la densité de probabilité ? Tout ce que nous devons faire est de définir le paramètre density
à True
.
Maintenant, la hauteur de chaque barre sera le nombre de valeurs dans l'intervalle divisé par le produit du nombre total de valeurs (la taille de l'échantillon) et de la largeur de la barre. En conséquence, la somme des aires des barres sera égale à 1, ce qui est exactement ce que nous attendons d'une fonction de densité de probabilité.
Modifions maintenant notre exemple :
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Making a histogram a probability density function approximation plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df))), density=True) plt.show()
Nous avons maintenant une approximation de la fonction de densité de probabilité pour nos données de température.
Si vous souhaitez explorer davantage les paramètres de la fonction hist()
, vous pouvez consulter sa documentation.
Swipe to start coding
Votre tâche consiste à créer une approximation d'une fonction de densité de probabilité en utilisant un échantillon de la distribution normale standard :
- Utilisez la fonction correcte pour créer un histogramme.
- Utilisez
normal_sample
comme données pour l'histogramme. - Spécifiez le nombre de classes comme deuxième argument en utilisant la formule de Sturges.
- Faites de l'histogramme une approximation d'une fonction de densité de probabilité en spécifiant correctement l'argument le plus à droite.
Solution
Merci pour vos commentaires !