Exploración inicial del Dataset Iris: descubriendo patrones morfológicos entre especies con Pandas¶
- Autores: Alexia Aurrecoechea, Nahuel López y Valentín Rodríguez
- Fecha: 13/08/2025
- Entorno: Google Colab + Python 3
- Referencia: Tarea 1: Exploración del Dataset Iris
Un viaje exploratorio a través del dataset más emblemático de la ciencia de datos: el Iris. Descubrimos cómo las diferencias morfológicas entre especies pueden revelarse a través del análisis estadístico y la visualización, estableciendo las bases para futuros proyectos de machine learning.
📓 Acceder al Notebook en Google Colab - Notebook interactivo con todo el código y análisis
🎯 El Desafío: ¿Qué nos Cuentan las Flores?¶
La Pregunta Central¶
¿Cómo podemos distinguir entre tres especies de Iris (Setosa, Versicolor y Virginica) utilizando únicamente medidas morfológicas? Esta pregunta aparentemente simple esconde un mundo de patrones estadísticos y relaciones complejas que solo se revelan a través del análisis exploratorio de datos.
Nuestro Enfoque¶
A través de este análisis, nos embarcamos en un viaje de descubrimiento que incluye:
- Desentrañar los secretos morfológicos de cada especie de Iris
- Revelar las relaciones ocultas entre diferentes medidas corporales
- Identificar las características más distintivas que separan las especies
- Crear visualizaciones que cuenten la historia de los datos
- Establecer una metodología robusta para futuros análisis similares
Por Qué el Iris es Perfecto¶
El dataset Iris no es solo un clásico académico; es el caso de estudio ideal porque: - Presenta un problema de clasificación claro y comprensible - Combina simplicidad conceptual con complejidad estadística - Permite explorar tanto análisis univariado como multivariado - Ofrece resultados interpretables desde múltiples perspectivas
🌸 Contexto del Dataset Iris¶
Información General¶
- Fuente: UCI Machine Learning Repository
- Tamaño: 150 observaciones × 5 variables
- Tipo de problema: Clasificación multiclase (3 especies)
- Balance: Perfectamente balanceado (50 observaciones por especie)
Variables del Dataset¶
Variable | Tipo | Descripción | Unidad |
---|---|---|---|
sepal_length |
Numérica | Longitud del sépalo | cm |
sepal_width |
Numérica | Ancho del sépalo | cm |
petal_length |
Numérica | Longitud del pétalo | cm |
petal_width |
Numérica | Ancho del pétalo | cm |
species |
Categórica | Especie de Iris | Setosa, Versicolor, Virginica |
Especies Analizadas¶
- Iris Setosa: Caracterizada por sépalos anchos y pétalos pequeños
- Iris Versicolor: Especie intermedia en características morfológicas
- Iris Virginica: Presenta los pétalos más largos y anchos
🔧 Metodología y Desarrollo¶
Etapa 1: Setup y Configuración¶
# Configuración del entorno
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from pathlib import Path
# Configuración de estilos visuales
plt.style.use('seaborn-v0_8')
sns.set_palette("husl")
Etapa 2: Carga y Exploración Inicial¶
# Carga del dataset
iris = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data',
names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species'])
# Análisis de estructura básica
print(f"Dimensiones: {iris.shape}")
print(f"Tipos de datos:\n{iris.dtypes}")
print(f"Valores faltantes:\n{iris.isnull().sum()}")
Etapa 3: Análisis Estadístico Descriptivo¶
- Estadísticas centrales: Media, mediana, moda por especie
- Medidas de dispersión: Desviación estándar, rango, IQR
- Análisis de distribución: Asimetría y curtosis
- Comparación entre especies: Tests estadísticos básicos
Etapa 4: Visualización Exploratoria¶
📊 Distribuciones Individuales¶
- Histogramas para cada variable numérica
- Box plots para detectar outliers y comparar distribuciones
- Density plots para visualizar formas de distribución
Análisis de distribuciones individuales de cada variable morfológica
🔗 Análisis de Relaciones¶
- Pair plots para visualizar todas las combinaciones de variables
- Scatter plots con colores por especie
- Correlation heatmap para identificar relaciones lineales
Pair plot completo mostrando todas las relaciones entre variables
📈 Comparación por Especies¶
- Box plots agrupados por especie
- Violin plots para mostrar distribuciones completas
- Strip plots para visualizar todos los puntos de datos
Análisis comparativo de características morfológicas por especie
📊 Descubrimientos Clave: Los Secretos Revelados¶
El Retrato Estadístico de Cada Especie¶
Nuestro análisis reveló perfiles morfológicos únicos para cada especie:
Especie | Sepal Length | Sepal Width | Petal Length | Petal Width |
---|---|---|---|---|
Setosa | 5.01 cm | 3.42 cm | 1.46 cm | 0.24 cm |
Versicolor | 5.94 cm | 2.77 cm | 4.26 cm | 1.33 cm |
Virginica | 6.59 cm | 2.97 cm | 5.55 cm | 2.03 cm |
Los Tres Personajes de Nuestra Historia¶
🌸 Iris Setosa: La Especie Más Distintiva¶
Setosa emerge como la "outsider" del grupo. Con sépalos notablemente más anchos (3.42 cm) y pétalos dramáticamente más pequeños, esta especie se separa completamente de sus hermanas en el espacio morfológico. Su baja variabilidad sugiere una especie muy estable y bien definida.
🌺 Iris Versicolor: La Especie Intermedia¶
Versicolor vive en el "punto medio" morfológico. Sus características la posicionan como un puente entre Setosa y Virginica, pero con suficiente identidad propia. Su distribución más uniforme sugiere una especie adaptable y versátil.
🌹 Iris Virginica: La Especie Más Grande¶
Virginica se destaca por ser la "gigante" del grupo. Con los pétalos más largos y anchos del conjunto, representa el extremo opuesto a Setosa. Su mayor variabilidad indica posiblemente una especie con mayor diversidad genética o adaptabilidad ambiental.
Las Conexiones Ocultas¶
Nuestro análisis de correlaciones reveló relaciones fascinantes: - Petal Length vs Petal Width: 0.96 (una correlación casi perfecta) - Sepal Length vs Petal Length: 0.87 (relación muy fuerte) - Sepal Length vs Petal Width: 0.82 (relación sólida)
🎨 Visualizaciones Implementadas¶
📝 Visualizaciones Generadas: Las siguientes visualizaciones fueron creadas específicamente para este análisis del dataset Iris usando Python, pandas, matplotlib y seaborn:
Dashboard de Análisis Completo¶
Dashboard completo con análisis multidimensional del dataset Iris
Análisis de Outliers¶
Identificación y análisis de valores atípicos en el dataset
Distribuciones Comparativas¶
Comparación visual de distribuciones entre especies
Matriz de Correlaciones¶
Análisis de correlaciones entre variables morfológicas
Tipos de Visualizaciones Generadas¶
- Histogramas individuales para cada variable morfológica
- Pair plots mostrando todas las combinaciones de variables
- Box plots comparativos por especie
- Scatter plots con colores diferenciados por especie
- Correlation heatmap para identificar relaciones lineales
- Violin plots para mostrar distribuciones completas
🔧 Cómo Generar las Visualizaciones¶
Para obtener las imágenes específicas del análisis de Iris:
- Acceder al notebook: Google Colab - Análisis Iris
- Ejecutar las celdas de visualización secuencialmente
- Descargar las imágenes generadas desde Colab
- Reemplazar los placeholders en esta página con las imágenes reales
Código clave para visualizaciones:
# Pair plot completo
sns.pairplot(iris, hue='species', diag_kind='hist')
# Box plots por especie
plt.figure(figsize=(12, 8))
iris_melted = iris.melt(id_vars='species', var_name='measurement', value_name='value')
sns.boxplot(data=iris_melted, x='measurement', y='value', hue='species')
# Correlation heatmap
plt.figure(figsize=(8, 6))
correlation_matrix = iris.drop('species', axis=1).corr()
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
📈 Insights Técnicos¶
Características Más Discriminantes¶
- Petal Width: Mayor poder discriminante entre especies
- Petal Length: Segunda variable más importante
- Sepal Width: Útil para distinguir Setosa de las otras especies
- Sepal Length: Menor poder discriminante individual
Patrones de Separabilidad¶
- Setosa: Completamente separable de las otras dos especies
- Versicolor vs Virginica: Requieren análisis multivariado para separación óptima
- Regiones de decisión: Claramente definidas en el espacio de características
Calidad de los Datos¶
- Sin valores faltantes: Dataset completo y limpio
- Outliers mínimos: Pocos valores atípicos identificados
- Distribuciones normales: La mayoría de variables siguen distribuciones aproximadamente normales
🚀 Estructura de Resultados¶
results/
├── visualizaciones/
│ ├── distribuciones_individuales.png
│ ├── pairplot_completo.png
│ ├── boxplots_por_especie.png
│ ├── correlation_heatmap.png
│ └── violin_plots.png
├── perfiles/
│ ├── estadisticas_descriptivas.csv
│ ├── correlaciones.csv
│ └── outliers_detectados.csv
└── reportes/
├── analisis_iris.txt
└── conclusiones.md
💼 Insights de Negocio y Científicos¶
Para Clasificación Automática¶
- Variables prioritarias: Petal Width y Petal Length son suficientes para clasificación básica
- Complejidad del modelo: Setosa requiere modelo simple, Versicolor/Virginica necesita análisis multivariado
- Precisión esperada: Alta precisión posible debido a la separabilidad clara de los datos
Para Investigación Botánica¶
- Diferenciación morfológica: Las especies muestran patrones morfológicos claramente diferenciados
- Evolución: Setosa parece ser la especie más divergente evolutivamente
- Variabilidad: Virginica muestra mayor variabilidad, posiblemente indicando adaptación a diferentes ambientes
🤔 El Viaje del Aprendizaje: Reflexiones de un Explorador de Datos¶
Lecciones del Dataset Iris¶
Este análisis nos enseñó que incluso el dataset más simple puede revelar historias complejas. El Iris nos demostró que:
- La organización es clave: Una estructura de carpetas clara transforma el caos en orden
- Cada visualización cuenta una historia diferente: Los histogramas, box plots y scatter plots nos dieron perspectivas únicas
- Los números necesitan contexto: Las estadísticas cobran vida cuando las acompañamos de visualizaciones
Herramientas que se Convierten en Aliadas¶
En este viaje, descubrimos el poder de: - Seaborn: Para crear visualizaciones que no solo informan, sino que cautivan - Pandas: Para manipular datos con la elegancia de un cirujano - Matplotlib: Para personalizar cada detalle hasta la perfección
Los Secretos que Descubrimos¶
- Las correlaciones cuentan historias: Una correlación de 0.96 entre longitud y ancho del pétalo revela patrones evolutivos
- Los outliers son tesoros: Cada valor atípico puede ser una pista importante
- El balance es belleza: Datasets balanceados nos permiten comparaciones justas y reveladoras
🚀 Próximos Pasos¶
Análisis Avanzados Propuestos¶
- Análisis de componentes principales (PCA): Reducción de dimensionalidad
- Clustering: Identificación de grupos naturales
- Modelos de clasificación: SVM, Random Forest, Neural Networks
- Análisis de discriminación: LDA para encontrar ejes de máxima separación
Herramientas a Explorar¶
- Scikit-learn: Para modelado y evaluación
- Plotly: Para visualizaciones interactivas
- Yellowbrick: Para visualización de modelos de ML
📚 Referencias¶
- UCI Machine Learning Repository - Iris Dataset
- Documentación pandas
- Documentación seaborn
- Fisher's Iris Dataset - Wikipedia
- Tarea 1: Exploración del Dataset Iris - Curso UCU
📋 Notas de Implementación¶
- Reproducibilidad: Todo el código está documentado y es ejecutable en Colab
- Escalabilidad: Metodología aplicable a otros datasets de clasificación
- Profesionalismo: Siguiendo estándares de la industria para EDA
- Aprendizaje: Balanceando exploración guiada con descubrimiento independiente