Aquí tienes un análisis básico de los datos antes de construir tu primer árbol de decisión. Usaremos el dataset Iris como ejemplo, que es ideal para comenzar porque:
- Es pequeño y limpio.
- Tiene 150 observaciones.
- Tiene 4 características numéricas.
- Su objetivo (target) es predecir el tipo de flor (Setosa, Versicolor o Virginica).
🔍 1. Cargar y entender los datos
from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.Series(iris.target, name='species')
X['species'] = y
X.head()
Salida esperada (primeras filas):
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)species5.13.51.40.204.93.01.40.20...............
species: 0 = Setosa, 1 = Versicolor, 2 = Virginica
📊 2. Estadísticas descriptivas
X.describe()
Esto te dará un resumen de los valores mínimos, máximos, medias, etc. Sirve para:
- Ver si hay valores extremos (outliers).
- Ver si las escalas son muy distintas.
- Observar la distribución de cada variable.
📈 3. Distribución de clases
import matplotlib.pyplot as plt
import seaborn as sns
sns.countplot(x='species', data=X)
plt.title('Distribución de clases')
plt.xticks([0, 1, 2], iris.target_names)
plt.show()
🔗 4. Correlaciones
sns.heatmap(X.drop('species', axis=1).corr(), annot=True, cmap='coolwarm')
plt.title('Matriz de correlación')
plt.show()
Esto ayuda a ver qué características están más relacionadas entre sí.
🧠 5. Observaciones clave
- Setosa es fácil de separar por su pétalo corto y delgado.
- Las clases Versicolor y Virginica son más parecidas.
- Las características más importantes suelen ser el largo y ancho del pétalo.