// 2. Les Preuves : Ajout des parenthĂšses () autour de l'objet pour OJS
datasets = ({
"α (Standard)": {
x: [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5],
y: [8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68]
},
"ÎČ (Non-linĂ©aire)": {
x: [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5],
y: [9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74]
},
"Îł (Outlier Y)": {
x: [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5],
y: [7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.42, 5.73]
},
"ÎŽ (Outlier X)": {
x: [8, 8, 8, 8, 8, 8, 8, 19, 8, 8, 8],
y: [6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89]
}
})4 đ Analyse Exploratoire des DonnĂ©es (EDA)
4.1 đ Philosophie de lâAnalyse Exploratoire (EDA)
Historiquement, cette philosophie de dĂ©couverte de la valeur puise ses racines dans lâAnalyse Exploratoire des DonnĂ©es (EDA), un concept popularisĂ© par le mathĂ©maticien John Tukey dans les annĂ©es 1970 (IBM, n.d.).
Contrairement Ă lâanalyse confirmatoire classique (oĂč lâon cherche simplement Ă valider ou infirmer une hypothĂšse préétablie), lâEDA se distingue par une approche dâinvestigation systĂ©matique. Le but ? Laisser la donnĂ©e âparlerâ dâelle-mĂȘme pour rĂ©vĂ©ler des structures, des anomalies (Outliers) ou des motifs cachĂ©s avant dâappliquer le moindre algorithme de Machine Learning complexe (IBM, n.d.).
Câest ce travail de dĂ©tective qui constitue le premier rempart contre les conclusions hĂątives et les biais algorithmiques.
đĄ Concept ClĂ© : EDA
EDA (Exploratory Data Analysis) : Phase dâinvestigation utilisant des statistiques descriptives et des outils visuels pour rĂ©sumer les caractĂ©ristiques dâun jeu de donnĂ©es et dĂ©couvrir des modĂšles cachĂ©s avant toute modĂ©lisation prĂ©dictive.
đ”ïžââïž Simulateur dâIllusion : Ne faites jamais confiance aux rĂ©sumĂ©s
SĂ©lectionnez les diffĂ©rents jeux de donnĂ©es. Observez bien les statistiques descriptives (moyennes, corrĂ©lation) : elles sont strictement identiques. Pourtant, regardez ce que lâAnalyse Exploratoire Visuelle (EDA) rĂ©vĂšleâŠ
4.2 đ Statistiques Descriptives
LâEDA nâest pas quâun graphique
Dans lâĂ©cosystĂšme analytique de 2026, lâAnalyse Exploratoire des DonnĂ©es (EDA) nâest plus une simple Ă©tape visuelle : câest une discipline dâingĂ©nierie rigoureuse. Câest la phase critique de validation de lâintĂ©gritĂ© structurelle de vos donnĂ©es avant de dĂ©ployer le moindre algorithme IA. La premiĂšre Ă©tape consiste Ă prendre le âpoulsâ de vos variables grĂące aux statistiques descriptives.
Lâanalyse univariĂ©e (lâĂ©tude dâune seule variable Ă la fois) constitue le premier rempart contre les donnĂ©es chaotiques.
4.2.1 đŻ Tendance Centrale
Lâobjectif est de trouver la valeur qui rĂ©sume le mieux lâensemble des donnĂ©es. Lâarbitrage classique se fait entre la moyenne et la mĂ©diane.
- La Moyenne (Mean) : Câest la somme de toutes les valeurs divisĂ©e par leur nombre total. Si elle est mathĂ©matiquement Ă©lĂ©gante, elle est structurellement trĂšs vulnĂ©rable aux valeurs aberrantes (Outliers) en raison de sa dĂ©pendance Ă chaque point de donnĂ©es.
- La MĂ©diane (Median) : Câest la valeur centrale une fois les donnĂ©es triĂ©es (elle coupe le jeu en deux moitiĂ©s de 50%). Elle offre une robustesse statistique bien supĂ©rieure face aux valeurs extrĂȘmes.
- Attention Architecturale : Le calcul de la mĂ©diane est beaucoup plus coĂ»teux en ressources CPU, car il nĂ©cessite dâeffectuer une opĂ©ration de tri (Sort) sur des millions de lignes.
- Le Mode : Représente la valeur la plus fréquente, trÚs utile pour les variables textuelles/catégorielles.
4.2.2 đ Dispersion
Savoir oĂč est le centre ne suffit pas ; il faut savoir si les donnĂ©es sont trĂšs resserrĂ©es autour de ce centre ou au contraire trĂšs Ă©talĂ©es.
- La Variance et lâĂcart-type (Standard Deviation) : Ces mesures Ă©valuent la fluctuation des donnĂ©es autour de la moyenne (\mu). Un Ă©cart-type (\sigma) Ă©levĂ© indique une forte volatilitĂ© des donnĂ©es.
- Quartiles et Percentiles : Ils divisent lâensemble de donnĂ©es en sections de taille Ă©gale (les quartiles divisent en 4 blocs de 25%). Ils sont Ă la base des graphiques âBoĂźtes Ă moustachesâ (Boxplots) pour dĂ©tecter visuellement les valeurs aberrantes.
4.2.3 âïž PrĂ©cision NumĂ©rique
En tant quâingĂ©nieur, vous devez savoir que les statistiques sur ordinateur sont soumises aux limites du matĂ©riel.
LâarithmĂ©tique en virgule flottante standard (IEEE 754) est notoirement non-associative : lâordre des opĂ©rations modifie les dĂ©cimales du rĂ©sultat. Pour lâIA financiĂšre, on utilise dĂ©sormais des types spĂ©cifiques comme Decimal (Ă©chelle fixe Ă©vitant les dĂ©bordements) ou Int128. LĂ oĂč le type classique Int64 est limitĂ© Ă 9 quintillions, le Int128 capture une plage 18 quintillions de fois plus large, Ă©vitant la saturation de la RAM lors de calculs dâagrĂ©gation massive.
4.2.4 đșïž Moyenne vs MĂ©diane
Pour choisir la mesure de tendance centrale la plus adaptée, vous devez évaluer la sensibilité aux valeurs aberrantes (outliers) et la complexité de calcul induite.
Ce schéma résume la stratégie de choix et son impact sur les ressources matérielles :
flowchart LR
A[Données avec Outliers ?] -->|Oui| B(Utiliser la Médiane)
A -->|Non| C(Utiliser la Moyenne)
B --> D{Coût en RAM/CPU}
D -.->|ĂlevĂ©| E[NĂ©cessite un Tri complet]
C --> F{Coût en RAM/CPU}
F -.->|Faible| G[Opération SIMD directe]
style A fill:#cb4b16,stroke:#073642,color:#fdf6e3
style B fill:#859900,stroke:#073642,color:#fdf6e3
style C fill:#859900,stroke:#073642,color:#fdf6e3
4.3 đ Relations et CorrĂ©lations
Le terrain de jeu des interprétations fallacieuses
Lâanalyse bivariĂ©e permet de dĂ©celer les structures cachĂ©es et les dĂ©pendances entre vos colonnes. Cependant, câest aussi le domaine oĂč les Data Scientists dĂ©butants commettent le plus dâerreurs dâinterprĂ©tation. Distinguer une simple co-occurrence statistique dâune vĂ©ritable relation causale est tout lâenjeu de cette Ă©tape.
Pour Ă©valuer la force des liens entre vos variables, la communautĂ© sâest longtemps reposĂ©e sur des matrices mathĂ©matiques classiques. Mais face Ă la complexitĂ© des donnĂ©es modernes (non-linĂ©aires, catĂ©gorielles), de nouveaux outils sont apparus.
4.3.1 đșïž Le Pairplot : La Vision Globale
Avant de plonger dans des coefficients mathĂ©matiques isolĂ©s, le premier rĂ©flexe dâun explorateur de donnĂ©es est de gĂ©nĂ©rer un Pairplot (ou matrice de nuages de points).
Cet outil projette lâensemble des relations bivariĂ©es possibles dâun jeu de donnĂ©es sous forme dâune grille de graphiques : * Sur la diagonale : Il affiche lâanalyse univariĂ©e (histogramme ou courbe de densitĂ© KDE) de chaque variable, permettant de voir sa distribution individuelle. * Hors diagonale : Il affiche un nuage de points (Scatter Plot) croisant la variable de la ligne avec celle de la colonne. * Lâargument magique hue : Permet de colorer les points en fonction dâune variable catĂ©gorielle (ex: le type de produit, le diagnostic mĂ©dical ou le type de bien). Cette simple coloration rĂ©vĂšle instantanĂ©ment des regroupements naturels (clusters) ou des sĂ©parations Ă©videntes dans lâespace des caractĂ©ristiques.
đ Matrice Interactive de Pairplot (Analyse CroisĂ©e)
Explorez ci-dessous une véritable matrice de Pairplot 3 \times 3 sur des données immobiliÚres.
Instructions : 1. Cliquez sur nâimporte quelle cellule de la grille pour afficher son analyse pĂ©dagogique dĂ©taillĂ©e dans le panneau de droite. 2. Changez la coloration via le menu dĂ©roulant hue pour observer comment la sĂ©paration des donnĂ©es en classes de biens (Maison vs Appartement) apparaĂźt Ă lâĂ©cran.
đ» ImplĂ©mentation en Python avec Seaborn
La librairie Seaborn simplifie cette génération complexe en une seule ligne de code :
import seaborn as sns
import matplotlib.pyplot as plt
# Chargement d'un jeu de données et affichage du pairplot
# 'hue' colore les points par catégorie et dessine des KDE séparés sur la diagonale
sns.pairplot(df, hue="Type_Bien", palette="solarized", diag_kind="kde")
plt.show()4.3.2 đ LinĂ©aritĂ© et Rangs
- Corrélation de Pearson : Le test statistique le plus célÚbre. Il évalue le degré de dépendance linéaire exacte entre deux variables numériques continues.
- Indicateur : Il renvoie un score entre -1 (corrĂ©lation nĂ©gative parfaite) et 1 (corrĂ©lation positive parfaite). Un score de 0 indique lâabsence de corrĂ©lation linĂ©aire.
- Le PiĂšge : Il suppose une relation proportionnelle constante. Si la relation dessine une courbe (ex: une parabole en forme de U), Pearson renverra 0, vous faisant croire Ă tort quâil nây a aucun lien.
- CorrĂ©lation de Spearman : Contrairement Ă Pearson, Spearman sâappuie sur les rangs des valeurs plutĂŽt que sur les valeurs brutes.
- LâAvantage : Il est capable de capturer des relations monotones non-linĂ©aires (si X augmente, Y augmente, peu importe la vitesse) et se montre totalement insensible aux valeurs extrĂȘmes qui pollueraient une matrice de Pearson.
4.3.3 đ Coefficients AvancĂ©s
LâĂ©chec des corrĂ©lations linĂ©aires a poussĂ© lâindustrie Ă adopter des mĂ©triques agnostiques, capables de gĂ©rer le mĂ©lange de textes et de nombres.
- Predictive Power Score (PPS) : Score asymétrique de 0 à 1. Au lieu de faire des mathématiques pures, il entraßne un mini-Arbre de Décision en arriÚre-plan pour voir si la variable A permet de deviner la variable B.
- Avantage : Il détecte les relations non-linéaires.
- AsymĂ©trie : Le fait que âCode Postalâ prĂ©dise le âPrix du loyerâ ne signifie pas que le âPrix du loyerâ permet de prĂ©dire exactement un âCode Postalâ. Pearson, lui, est toujours symĂ©trique.
- Coefficient Phik (\phi_k) : Coefficient de corrĂ©lation extrĂȘmement robuste qui fonctionne de maniĂšre cohĂ©rente pour des types de variables mixtes (catĂ©gorielles, ordinales, intervalles).
4.3.4 Simulation : Les limites de Pearson
Pour bien comprendre la différence entre Pearson (linéaire) et une véritable force prédictive (non-linéaire), observez comment les scores réagissent face à différentes distributions de données.
đ Les Limites de Pearson
Sélectionnez les différents profils de distribution et observez comment le coefficient de corrélation linéaire de Pearson réagit par rapport à une force prédictive non-linéaire.
4.3.5 âïž CorrĂ©lation nâest pas CausalitĂ©
Câest le mantra de la Data Science. Si lâEDA permet dâobserver que deux variables Ă©voluent de pair, ce lien mathĂ©matique nâimplique jamais de facto quâune variable est la cause de lâĂ©volution de lâautre.
- La variable de confusion : Par exemple, il existe une forte corrĂ©lation positive entre les ventes de crĂšmes glacĂ©es et les noyades. Est-ce que manger une glace provoque la noyade ? Non. La variable de confusion cachĂ©e est la chaleur estivale, qui provoque simultanĂ©ment lâaugmentation des deux phĂ©nomĂšnes.
- LâEDA sert de gĂ©nĂ©rateur dâhypothĂšses, qui doivent ensuite ĂȘtre validĂ©es par le mĂ©tier ou par des tests A/B.
4.4 đ§© Regroupement et Segmentation
Méfiez-vous de la moyenne globale
Calculer le salaire moyen de lâensemble dâune entreprise donne une information, mais elle masque les rĂ©alitĂ©s locales. Câest en segmentant ces donnĂ©es (ex: Salaire moyen par dĂ©partement et par niveau dâanciennetĂ©) que lâon extrait la vĂ©ritable valeur mĂ©tier. La transformation de donnĂ©es brutes en segments actionnables repose sur une mĂ©canique que tout ingĂ©nieur Data doit maĂźtriser : le Split-Apply-Combine.
4.4.1 đ§© Split-Apply-Combine
DerriĂšre la cĂ©lĂšbre fonction .groupby(), le moteur de calcul (quâil sâagisse de Pandas ou de Polars) effectue toujours trois opĂ©rations distinctes :
- Split (Diviser) : Le jeu de données original est scindé en sous-groupes selon des clés définies (ex: le genre, la ville). Cette étape repose sur des algorithmes de hachage (hashing) en mémoire.
- Apply (Appliquer) : Une fonction dâagrĂ©gation (moyenne, somme, comptage, ou mĂȘme un modĂšle IA) est exĂ©cutĂ©e indĂ©pendamment sur chaque sous-groupe.
- Combine (Recombiner) : Les résultats isolés sont réassemblés dans une nouvelle structure de données propre et unifiée.
đ Pipeline Split-Apply-Combine
SĂ©lectionnez la fonction dâagrĂ©gation et observez comment le moteur scinde le jeu de donnĂ©es dâorigine, calcule les valeurs intermĂ©diaires pour chaque groupe et les recombine dans une structure propre.
4.4.2 đïž GroupBy vs Pivot Table
Un point de friction classique pour le Data Scientist est de choisir entre .groupby().agg() et .pivot_table(). Bien quâelles produisent des rĂ©sultats similaires, leur mĂ©canique interne est fondamentalement diffĂ©rente.
- LâimplĂ©mentation de
pivot_tableutilise souvent des boucles Python pures sous le capot pour appliquer vos fonctions, ce qui est extrĂȘmement lent. - LâimplĂ©mentation de
groupby().agg()vĂ©rifie dâabord si une fonction optimisĂ©e en C/Cython est disponible pour ce que vous demandez (commesumoumean). Si oui, le moteur court-circuite Python et utilise le code C compilĂ©. Sur des millions de lignes,groupbypeut ĂȘtre jusquâĂ 60 fois plus rapide.
4.4.3 đ DĂ©coupage et DiscrĂ©tisation (Binning)
Une autre forme de segmentation statistique trĂšs courante consiste Ă transformer une variable continue (ex : lâĂąge ou le poids des marchandises) en une variable catĂ©gorielle ordonnĂ©e (ex : tranches de poids [0-200], [200-1000], etc.). Câest ce quâon appelle la discrĂ©tisation ou le binning.
Pandas propose deux outils fondamentaux pour réaliser cela :
pd.cut(DĂ©coupage par intervalles rĂ©guliers ou spĂ©cifiques) : Divise la plage de valeurs en intervalles dĂ©finis ou dâĂ©gale largeur. Câest parfait lorsque vous voulez des catĂ©gories mĂ©tiers bien dĂ©finies.pd.qcut(DĂ©coupage par quantiles/effectifs Ă©gaux) : Divise les donnĂ©es de sorte que chaque groupe contienne le mĂȘme nombre dâobservations (ex : quartiles, dĂ©ciles). Câest idĂ©al pour crĂ©er des groupes de taille homogĂšne.
import pandas as pd
# Exemple de découpage par intervalles spécifiques (pd.cut)
df_manifeste['categorie_poids'] = pd.cut(
df_manifeste['poids_kg'],
bins=[0, 200, 1000, float('inf')],
labels=['Léger', 'Moyen', 'Lourd']
)
# Exemple de découpage par quantiles (pd.qcut en 4 groupes égaux / quartiles)
df_manifeste['quartile_poids'] = pd.qcut(
df_manifeste['poids_kg'],
q=4,
labels=['Q1', 'Q2', 'Q3', 'Q4']
)4.5 đ Croiser les DonnĂ©es : Les Jointures
đĄ Le Pouvoir du Croisement : Reconstituer la ScĂšne de Crime
En situation rĂ©elle, les donnĂ©es dâenquĂȘte sont rarement concentrĂ©es dans une seule et unique table. Pour des raisons dâoptimisation de stockage et de cohĂ©rence (les principes de normalisation des bases de donnĂ©es), les informations sont dĂ©coupĂ©es et rĂ©parties dans plusieurs fichiers.
Pour mener votre analyse exploratoire complĂšte (EDA), le premier rĂ©flexe consiste Ă croiser les sources. LâopĂ©ration reine pour cela sâappelle la jointure (Join).
4.5.1 đșïž Anatomie des DiffĂ©rentes Jointures
Une jointure consiste à associer les lignes de deux tables en se basant sur une clé commune (un identifiant unique, un nom, etc.). Selon la question posée, vous devez choisir le type de jointure approprié :
Inner Join (Interne)
Le strict minimum commun
Il conserve uniquement les lignes dont la clĂ© de jointure existe Ă la fois dans la table de gauche ET dans la table de droite. Câest lâintersection mathĂ©matique pure.
- Syntaxe Pandas :
how='inner'(comportement par défaut). - Exemple : Lister uniquement les suspects pour lesquels nous avons un enregistrement de départ maritime.
Left Join (Gauche)
La table de gauche est prioritaire
Il conserve toutes les lignes de la table de gauche. Si une clĂ© nâexiste pas Ă droite, les colonnes correspondantes de droite sont remplies avec des valeurs manquantes (NaN).
- Syntaxe Pandas :
how='left'. - Exemple : Lister tous nos suspects, et ajouter leurs informations de voyage sâils en ont une (sinon, laisser vide).
Right Join (Droite)
La table de droite est prioritaire
Le miroir parfait de la jointure gauche : il conserve toutes les lignes de la table de droite, complĂ©tant Ă gauche avec des NaN si aucune correspondance nâest trouvĂ©e.
- Syntaxe Pandas :
how='right'. - Exemple : Lister tous les dĂ©parts de navires, et y associer les suspects correspondants sâil y en a.
Outer Join (Externe)
Lâunion totale sans exclusion
Il conserve toutes les lignes des deux tables (gauche et droite). Partout oĂč une correspondance manque, Pandas injecte automatiquement un NaN.
- Syntaxe Pandas :
how='outer'. - Exemple : Obtenir la vue dâensemble absolue de tous les passagers enregistrĂ©s et de tous nos suspects.
4.5.2 âïž Le Match Visuel des Jointures
Pour bien appréhender les différences de rétention de lignes, visualisez ce schéma relationnel :
flowchart TD
subgraph Table_Gauche [Suspects]
G1["1: Alice"]
G2["2: Bob"]
G3["3: Charlie"]
end
subgraph Table_Droite [Ferrys]
D1["3: La Mouette"]
D2["4: Le Poséidon"]
end
G3 <-->|Clé commune: 3| D1
classDef left fill:#268bd2,stroke:#073642,color:#fdf6e3;
classDef right fill:#cb4b16,stroke:#073642,color:#fdf6e3;
class Table_Gauche left;
class Table_Droite right;
- Inner Join : Seul Charlie (clé
3) est conservé car il est présent dans les deux tables. - Left Join : Garde Alice (1), Bob (2) et Charlie (3). Alice et Bob auront
NaNpour la colonne navire. - Outer Join : Garde Alice (1), Bob (2), Charlie (3) et le passager anonyme du ferry 4 (
Le Poséidon).
4.5.3 đ» ImplĂ©mentation pratique avec Pandas
Lâoutil universel sous Pandas est la fonction pd.merge(). Elle offre une flexibilitĂ© totale grĂące Ă ses paramĂštres clĂ©s :
import pandas as pd
# Cas 1 : Les clĂ©s de jointure ont le mĂȘme nom dans les deux tables
df_fusion = pd.merge(df_gauche, df_droite, on='id', how='inner')
# Cas 2 : Les clés de jointure ont des noms différents
df_fusion = pd.merge(
left=df_gauche,
right=df_droite,
left_on='nom_suspect', # Clé dans la table de gauche
right_on='nom_passager', # Clé dans la table de droite
how='left'
)4.6 đ”ïžââïž Mission 2
Votre instinct Ă©tait bon : Charlie tente de fuir par la mer ! Lâinspecteur principal vient de vous faire parvenir le registre piratĂ© des dĂ©parts maritimes dâaujourdâhui.
Exécutez la cellule ci-dessous pour consulter ce nouveau registre :
import pandas as pd
# On recrée l'état de la Mission 1
df_coupables_potentiels = pd.DataFrame({
'nom': ['Charlie'],
'age': [35.0],
'has_alibi': [False]
})
# On charge la nouvelle table
df_embarquements = pd.DataFrame({
'passager': ['Alice', 'Bob', 'Charlie', 'Diana', 'Zoe'],
'navire': ['Le Triton', 'L\'Océan', 'La Mouette', 'L\'Océan', 'Le Poséidon'],
'quai': [4, 12, 7, 12, 2]
})Votre objectif : Croiser (joindre) la liste de vos coupables potentiels avec ce registre maritime pour dĂ©couvrir oĂč se cache Charlie. Indice : Regardez bien le nom des colonnes contenant les noms des individus dans les deux tables !
4.7 đ”ïžââïž Mission 4
Vous descendez sur le pont infĂ©rieur face au conteneur suspect marquĂ© dâun âCâ. Il est verrouillĂ© par un cadenas numĂ©rique Ă 4 chiffres. Le capitaine du port vous transmet le manifeste des marchandises chargĂ©es aujourdâhui. ExĂ©cutez la cellule pour examiner le manifeste :
import pandas as pd
# Manifeste des marchandises du port
data_manifeste = {
'proprietaire': ['Alice', 'Bob', 'Charlie', 'Alice', 'Charlie', 'Diana', 'Charlie'],
'type_marchandise': ['Textiles', 'Electronique', 'Poissons', 'Meubles', 'Glace', 'Livres', 'Produits Chimiques'],
'poids_kg': [150, 420, 1042, 300, 2105, 50, 1000]
}
df_manifeste = pd.DataFrame(data_manifeste)
print("Manifeste récupéré avec succÚs !")
display(df_manifeste)Un docker vous glisse une information : âLe code du cadenas est toujours le poids total cumulĂ© des marchandises du propriĂ©taire.â
Votre objectif : Utiliser le regroupement de données (groupby) pour calculer le poids total des marchandises de chaque propriétaire, et déduire le code de Charlie.
4.8 TP2 : LâEnquĂȘte Dimensionnelle (EDA)
Félicitations ! Grùce à votre travail de Data Wrangling (TP1), la base de données du Spaceship Titanic est propre et exploitable. Néanmoins, une question fondamentale subsiste : quel est le profil des passagers qui ont été transportés dans une autre dimension spatio-temporelle ?
Dans ce deuxiĂšme TP, vous incarnerez un Analyste de lâĂ©quipe de sauvetage et explorerez ces donnĂ©es pour identifier des tendances et des profils types qui permettront dâaider les Ă©quipes de recherche spatiale.
4.8.1 đŻ Objectifs PĂ©dagogiques
- Statistiques Descriptives Globales : Dresser un Ă©tat des lieux de base de la population Ă lâaide de mĂ©thodes globales (
.describe()et.value_counts()) pour Ă©valuer le taux de disparition global et lâĂąge moyen des passagers. - Tris CroisĂ©s & Analyse CroisĂ©e : Croiser des variables qualitatives stratĂ©giques (le statut
VIPet la cibleTransported) viapd.crosstab()pour vĂ©rifier scientifiquement la rumeur selon laquelle les cabines VIP offraient une protection contre lâanomalie. - Regroupement et Profilage : Regrouper les passagers selon leur planĂšte dâorigine (
HomePlanet) Ă lâaide de.groupby()et.agg()pour modĂ©liser leurs comportements et leurs dĂ©penses moyennes. - Matrice de CorrĂ©lation : Ăvaluer et cartographier les interactions financiĂšres des passagers (RoomService, Spa, VRDeck, etc.) Ă lâaide de matrices de corrĂ©lation (
.corr()) pour dĂ©tecter des motifs dâachat corrĂ©lĂ©s.
4.8.2 đ Fichiers du TP
Vous pouvez explorer lâarborescence des fichiers du TP ci-dessous et tĂ©lĂ©charger directement lâarchive de dĂ©part :
4.9 đ Conclusion et Transition
Lâanalyse exploratoire et la visualisation nous ont permis de comprendre les tendances, les profils types et les corrĂ©lations au sein de nos donnĂ©es. ArmĂ©s de ces connaissances, nous sommes maintenant prĂȘts Ă passer Ă la modĂ©lisation pour prĂ©dire des tendances ou segmenter nos donnĂ©es.
Câest ce que nous allons explorer dans le Chapitre 5 : ModĂ©lisation et Machine Learning.
IBM. n.d. âWhat Is Exploratory Data Analysis?â https://www.ibm.com/think/topics/exploratory-data-analysis.