Introducció
L'Anàlisi Exploratori de Dades (EDA) és una etapa fonamental en el procés d'anàlisi de dades. L'objectiu principal de l'EDA és comprendre les característiques principals del conjunt de dades abans d'aplicar tècniques de modelatge més complexes. Aquesta fase inclou la identificació de patrons, la detecció d'anomalies, la comprovació d'hipòtesis i la generació de resums estadístics.
Objectius de l'EDA
-
Comprendre la Distribució de les Dades:
- Identificar la distribució de les variables.
- Detectar valors extrems o outliers.
- Comprovar la simetria i curtosi de les dades.
-
Identificar Relacions entre Variables:
- Analitzar la correlació entre variables.
- Detectar possibles relacions lineals o no lineals.
-
Detectar Anomalies i Dades Faltants:
- Identificar valors anòmals que podrien distorsionar l'anàlisi.
- Gestionar dades faltants de manera adequada.
-
Generar Hipòtesis Inicials:
- Desenvolupar hipòtesis preliminars que poden ser provades amb tècniques més avançades.
Eines i Tècniques per l'EDA
Estadístiques Descriptives
Les estadístiques descriptives proporcionen un resum ràpid de les característiques principals del conjunt de dades.
- Mitjana: Valor promig de les dades.
- Mediana: Valor central que separa la meitat superior i inferior de les dades.
- Moda: Valor que apareix amb més freqüència.
- Desviació Estàndard: Mesura de la dispersió de les dades.
- Quartils: Divisió de les dades en quatre parts iguals.
Visualitzacions Gràfiques
Les visualitzacions gràfiques són eines poderoses per comprendre les dades de manera visual.
- Histogrammes: Mostren la distribució de les dades.
- Diagrames de Caixes (Box Plots): Permeten identificar valors extrems i la distribució de les dades.
- Diagrames de Dispersió (Scatter Plots): Mostren la relació entre dues variables.
- Mapes de Calor (Heatmaps): Visualitzen la correlació entre múltiples variables.
Exemple Pràctic amb Python
A continuació, es presenta un exemple pràctic d'EDA utilitzant Python i les biblioteques pandas, matplotlib i seaborn.
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Carregar el conjunt de dades df = pd.read_csv('dataset.csv') # Estadístiques descriptives print(df.describe()) # Histogrammes df.hist(bins=30, figsize=(15, 10)) plt.show() # Diagrames de Caixes plt.figure(figsize=(10, 6)) sns.boxplot(data=df) plt.show() # Diagrames de Dispersió plt.figure(figsize=(10, 6)) sns.scatterplot(x='variable1', y='variable2', data=df) plt.show() # Mapes de Calor plt.figure(figsize=(10, 6)) sns.heatmap(df.corr(), annot=True, cmap='coolwarm') plt.show()
Explicació del Codi
-
Carregar el Conjunt de Dades:
df = pd.read_csv('dataset.csv')
Carrega el conjunt de dades des d'un fitxer CSV.
-
Estadístiques Descriptives:
print(df.describe())
Proporciona un resum estadístic de les dades, incloent la mitjana, mediana, desviació estàndard, etc.
-
Histogrammes:
df.hist(bins=30, figsize=(15, 10)) plt.show()
Crea histogrammes per visualitzar la distribució de les dades.
-
Diagrames de Caixes:
plt.figure(figsize=(10, 6)) sns.boxplot(data=df) plt.show()
Genera diagrames de caixes per identificar valors extrems i la distribució de les dades.
-
Diagrames de Dispersió:
plt.figure(figsize=(10, 6)) sns.scatterplot(x='variable1', y='variable2', data=df) plt.show()
Crea diagrames de dispersió per analitzar la relació entre dues variables.
-
Mapes de Calor:
plt.figure(figsize=(10, 6)) sns.heatmap(df.corr(), annot=True, cmap='coolwarm') plt.show()
Genera un mapa de calor per visualitzar la correlació entre múltiples variables.
Exercici Pràctic
Exercici
Utilitza el conjunt de dades titanic.csv
per realitzar una anàlisi exploratòria de dades. Completa les següents tasques:
- Carrega el conjunt de dades.
- Genera estadístiques descriptives.
- Crea histogrammes per a les variables numèriques.
- Genera diagrames de caixes per a les variables numèriques.
- Crea diagrames de dispersió per analitzar la relació entre l'edat i la tarifa (
Age
iFare
). - Genera un mapa de calor per visualitzar la correlació entre les variables.
Solució
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Carregar el conjunt de dades df = pd.read_csv('titanic.csv') # Estadístiques descriptives print(df.describe()) # Histogrammes df.hist(bins=30, figsize=(15, 10)) plt.show() # Diagrames de Caixes plt.figure(figsize=(10, 6)) sns.boxplot(data=df.select_dtypes(include=['float64', 'int64'])) plt.show() # Diagrames de Dispersió plt.figure(figsize=(10, 6)) sns.scatterplot(x='Age', y='Fare', data=df) plt.show() # Mapes de Calor plt.figure(figsize=(10, 6)) sns.heatmap(df.corr(), annot=True, cmap='coolwarm') plt.show()
Explicació de la Solució
-
Carregar el Conjunt de Dades:
df = pd.read_csv('titanic.csv')
Carrega el conjunt de dades del Titanic des d'un fitxer CSV.
-
Estadístiques Descriptives:
print(df.describe())
Proporciona un resum estadístic de les dades del Titanic.
-
Histogrammes:
df.hist(bins=30, figsize=(15, 10)) plt.show()
Crea histogrammes per visualitzar la distribució de les variables numèriques del conjunt de dades del Titanic.
-
Diagrames de Caixes:
plt.figure(figsize=(10, 6)) sns.boxplot(data=df.select_dtypes(include=['float64', 'int64'])) plt.show()
Genera diagrames de caixes per identificar valors extrems i la distribució de les variables numèriques.
-
Diagrames de Dispersió:
plt.figure(figsize=(10, 6)) sns.scatterplot(x='Age', y='Fare', data=df) plt.show()
Crea diagrames de dispersió per analitzar la relació entre l'edat i la tarifa.
-
Mapes de Calor:
plt.figure(figsize=(10, 6)) sns.heatmap(df.corr(), annot=True, cmap='coolwarm') plt.show()
Genera un mapa de calor per visualitzar la correlació entre les variables del conjunt de dades del Titanic.
Conclusió
L'Anàlisi Exploratori de Dades (EDA) és una etapa crucial en el procés d'anàlisi de dades que permet comprendre millor les característiques del conjunt de dades. Mitjançant l'ús d'estadístiques descriptives i visualitzacions gràfiques, podem identificar patrons, detectar anomalies i generar hipòtesis inicials. Aquesta comprensió inicial és essencial per aplicar tècniques de modelatge més avançades amb èxit.
Curs d'Anàlisi de Dades
Mòdul 1: Introducció a l'Anàlisi de Dades
- Conceptes Bàsics d'Anàlisi de Dades
- Importància de l'Anàlisi de Dades en la Presa de Decisions
- Eines i Programari Comunament Utilitzats
Mòdul 2: Recol·lecció i Preparació de Dades
- Fonts de Dades i Mètodes de Recol·lecció
- Neteja de Dades: Identificació i Gestió de Dades Faltants
- Transformació i Normalització de Dades
Mòdul 3: Exploració de Dades
- Anàlisi Exploratori de Dades (EDA)
- Visualització de Dades: Gràfics i Taules
- Detecció de Patrons i Tendències
Mòdul 4: Modelatge de Dades
- Introducció als Models Estadístics
- Regressió Lineal i Logística
- Arbres de Decisió i Boscos Aleatoris
Mòdul 5: Avaluació i Validació de Models
- Mètriques d'Avaluació de Models
- Validació Creuada i Tècniques de Validació
- Ajust i Optimització de Models
Mòdul 6: Implementació i Comunicació de Resultats
- Implementació de Models en Producció
- Comunicació de Resultats a Parts Interessades
- Documentació i Informes