Dataset Iris: Consta de tres clases de flores y cuatro características (largo y ancho de sépalos y pétalos). Logistic Regression: Se utiliza para clasificar instancias en una de las tres categorías. Evaluación: Muestra precisión, recall, F1-score para medir el rendimiento del modelo.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report
# Cargar el dataset Iris
data = load_iris()
X = data.data # Características: largo y ancho de sépalos y pétalos
y = data.target # Etiquetas: tipo de flor (Setosa, Versicolor, Virginica)
# Dividir el conjunto de datos en entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Entrenar un modelo de regresión logística
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)
# Hacer predicciones
y_pred = model.predict(X_test)
# Evaluar el modelo
print("Accuracy:", accuracy_score(y_test, y_pred))
print("Reporte de clasificación:")
print(classification_report(y_test, y_pred, target_names=data.target_names))
Salida
Accuracy: 1.0
Reporte de clasificación:
precision recall f1-score support
setosa 1.00 1.00 1.00 10
versicolor 1.00 1.00 1.00 9
virginica 1.00 1.00 1.00 11
accuracy 1.00 30
macro avg 1.00 1.00 1.00 30
weighted avg 1.00 1.00 1.00 30
La salida refleja los resultados de la evaluación del modelo de clasificación en el conjunto de prueba para el problema de clasificación de flores del Iris Dataset. A continuación, se explica cada sección:
Accuracy: 1.0
1.0
significa que el modelo clasificó correctamente todas las instancias del conjunto de prueba.
Reporte de clasificación
Este reporte proporciona una evaluación detallada para cada clase. Las métricas principales son:
Precision: Proporción de predicciones correctas para una clase específica entre todas las predicciones realizadas para esa clase.
1.00
para todas las clases porque el modelo no cometió errores.Recall (Sensibilidad): Proporción de instancias correctamente identificadas como pertenecientes a una clase específica.
1.00
para todas las clases, indicando que el modelo identificó todas las instancias correctamente.F1-Score: Promedio armónico de precisión y recall. Es útil cuando hay un balance entre falsos positivos y falsos negativos.
1.00
, el F1-Score también es 1.00
.Support: Número real de instancias en el conjunto de prueba para cada clase.
Accuracy: Reiteración del valor global de exactitud.
Macro Avg (Promedio macro): Promedio simple de las métricas de todas las clases, sin considerar su tamaño.
1.00
porque todas las clases tienen métricas perfectas.Weighted Avg (Promedio ponderado): Promedio de las métricas ponderado por el número de instancias (support) en cada clase.
1.00
porque no hay errores en ninguna clase.Este resultado indica que el modelo clasificó todas las instancias del conjunto de prueba de manera perfecta, con precisión, recall y F1-Score de 1.00
para cada clase. Si bien esto parece ideal, en un caso real podría ser indicativo de: