MAT281 - Laboratorio N°05¶
Problema 01¶
El Iris dataset es un conjunto de datos que contiene muestras de tres especies de Iris (Iris setosa, Iris virginica e Iris versicolor). Se midieron cuatro características en cada muestra: el largo y ancho del sépalo y del pétalo, ambos en centímetros. Este conjunto de datos es comúnmente utilizado para análisis de clasificación y para demostrar algoritmos de machine learning en la ciencia de datos.
Descripción de los Datos:¶
- sepal_length: Largo del sépalo en centímetros.
- sepal_width: Ancho del sépalo en centímetros.
- petal_length: Largo del pétalo en centímetros.
- petal_width: Ancho del pétalo en centímetros.
- species: La especie de la flor (Iris setosa, Iris virginica, Iris versicolor).
Lo primero es cargar el conjunto de datos y ver las primeras filas que lo componen:
# librerias
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
pd.set_option('display.max_columns', 500) # Ver más columnas de los dataframes
# Ver gráficos de matplotlib en jupyter notebook/lab
%matplotlib inline
# cargar datos
data= pd.read_csv("https://raw.githubusercontent.com/fralfaro/MAT281_2024/main/docs/labs/data/iris_contaminados.csv")
data.columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']
data.head()
Bases del Experimento¶
El primer paso en el análisis es identificar las variables clave del estudio y definir su naturaleza:
- species:
- Descripción: Nombre de la especie de Iris a la que pertenece cada observación.
- Tipo de dato: string.
- Restricciones: Solo se consideran tres especies (Iris setosa, Iris virginica, e Iris versicolor).
- sepalLength:
- Descripción: Longitud del sépalo en centímetros.
- Tipo de dato: float.
- Rango: Los valores oscilan entre 4.0 cm y 7.0 cm.
- sepalWidth:
- Descripción: Ancho del sépalo en centímetros.
- Tipo de dato: float.
- Rango: Los valores varían entre 2.0 cm y 4.5 cm.
- petalLength:
- Descripción: Longitud del pétalo en centímetros.
- Tipo de dato: float.
- Rango: Los valores están comprendidos entre 1.0 cm y 7.0 cm.
- petalWidth:
- Descripción: Ancho del pétalo en centímetros.
- Tipo de dato: float.
- Rango: Los valores se encuentran entre 0.1 cm y 2.5 cm.
Esta descripción clara de las variables y sus limitaciones es esencial para establecer una base sólida en el análisis de datos.
Su objetivo es realizar un Análisis Exploratorio de Datos (EDA) completo y riguroso. Para lograrlo, siga las instrucciones proporcionadas a continuación, asegurándose de extraer conclusiones intermedias después de cada pregunta, y de elaborar una conclusión general al finalizar todas las preguntas.
Esto le permitirá identificar patrones, anomalías y relaciones clave entre las variables antes de proceder con un análisis más profundo.
- Realice un conteo de los elementos en la columna species y ajuste cualquier valor que considere incorrecto. Reemplace los valores
NaN
con "default".
# FIXME
- Genere un gráfico de box-plot para visualizar la distribución del largo y ancho de los pétalos y sépalos. Antes de crear el gráfico, reemplace los valores
NaN
por 0.
# FIXME
- Utilizando los rangos de valores válidos previamente definidos para el largo y ancho de los pétalos y sépalos, agregue una nueva columna denominada label. Esta columna debe identificar si algún valor se encuentra fuera del rango permitido. Marque los valores fuera de rango con "fuera de rango" y los valores dentro del rango con "dentro del rango".
# FIXME
Genere dos gráficos de dispersión:
- El primero, mostrando la relación entre sepal_length y petal_length.
- El segundo, mostrando la relación entre sepal_width y petal_width.
En ambos gráficos, los puntos deben estar categorizados por la columna label (es decir, "dentro del rango" o "fuera del rango").
Concluya los resultados evaluando la relación entre las variables y si los valores fuera de rango afectan significativamente la distribución o comportamiento de los datos.
# FIXME
- Filtre los datos para conservar solo aquellos que estén dentro del rango válido. Luego, genere un gráfico de dispersión mostrando la relación entre sepal_length y petal_length, categorizando los puntos por la columna species. Esto permitirá visualizar cómo varían estas dimensiones entre las diferentes especies de Iris.
# FIXME