Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Manos a la obra: construyendo un clasificador con el dataset Iris

De acuerdo al reto solicitado y a las instrucciones del instructor, se procedio a crear el siguiente código:

==========================================================

CLASIFICACIÓN DE FLORES CON APRENDIZAJE SUPERVISADO

Dataset Iris - Árbol de Decisión

==========================================================

Importar bibliotecas

import numpy as np
import pandas as pd

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix

==========================================================

PASO 1: Cargar y explorar los datos

==========================================================

Cargar el dataset Iris

iris = load_iris()

Crear DataFrame

df = pd.DataFrame(
iris.data,
columns=iris.feature_names
)

Agregar la columna de especies

df["Especie"] = iris.target

print("=" * 50)
print("Primeras filas del dataset")
print("=" * 50)
print(df.head())

print("\nEspecies disponibles:")
for i, especie in enumerate(iris.target_names):
print(f"{i}: {especie}")

==========================================================

PASO 2: Preparar los datos

==========================================================

Variables independientes

X = df.iloc[:, :-1]

Variable dependiente

y = df["Especie"]

División entrenamiento/prueba

X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.20,
random_state=42,
stratify=y
)

print("\nCantidad de muestras")
print(f"Entrenamiento: {len(X_train)}")
print(f"Prueba: {len(X_test)}")

==========================================================

PASO 3: Entrenar el modelo

==========================================================

modelo = DecisionTreeClassifier(random_state=42)

modelo.fit(X_train, y_train)

==========================================================

PASO 4: Evaluar el modelo

==========================================================

predicciones = modelo.predict(X_test)

precision = accuracy_score(y_test, predicciones)

print("\n" + "=" * 50)
print("RESULTADOS")
print("=" * 50)

print(f"Precisión del modelo: {precision:.2%}")

print("\nMatriz de confusión")
print(confusion_matrix(y_test, predicciones))

print("\nReporte de clasificación")
print(
classification_report(
y_test,
predicciones,
target_names=iris.target_names
)
)

Validación cruzada

scores = cross_val_score(modelo, X, y, cv=5)

print("Validación cruzada")
print(scores)

print(f"Precisión promedio: {scores.mean():.2%}")

==========================================================

PASO 5: Probar una nueva flor

==========================================================

Longitud sépalo, ancho sépalo,

longitud pétalo, ancho pétalo

nueva_flor = np.array([
[5.1, 3.5, 1.4, 0.2]
])

prediccion = modelo.predict(nueva_flor)

print("\nNueva muestra")
print(nueva_flor)

print(
"La especie predicha es:",
iris.target_names[prediccion[0]]
)

RESULTADOS OBTENIDOS
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta
solución!

Hola George,

Gracias por compartir tu código con la comunidad. Es muy valioso ver cómo aplicas en la práctica los conceptos del curso.

Te recomiendo que puedas interactuar con el resto de nuestros compañeros por nuestro Discord.

En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros, y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos.

De esa manera, si quieres seguir compartiendo tu código, proyectos o repositorios, sea por el Discord — con certeza por ahí llegará a más personas.

¡Gracias nuevamente por tu aporte!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. ¡Continúa con tus estudios!