El flujo de trabajo de ML: de los datos a la predicción
Recorra el proceso completo, desde la recopilación y limpieza de datos sin procesar hasta el entrenamiento, la evaluación y la implementación del modelo.
El flujo de trabajo de ML: de los datos a la predicción es una lección gratuita de Machine Learning Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Machine Learning Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Machine Learning Academy incluye 4 lecciones en total.
The End-to-End ML Pipeline
Desarrollar ML es más que entrenar un modelo: es una tubería completa. Conocer todas las etapas evita que te apresures a modelar demasiado pronto.
Stage 1: Define the Problem
La primera etapa es definir el problema: ¿qué estás prediciendo, por qué es importante y cómo medirás el éxito? Los objetivos vagos generan modelos vagos.
Stage 2: Collect and Load Data
A continuación, recopila y carga tus datos desde archivos, bases de datos o API; Pandas es la herramienta ideal. Inspecciona siempre los datos sin procesar antes de hacer cualquier otra cosa.
import pandas as pd
# Load data from a CSV file
df = pd.read_csv('housing.csv')
# First inspection
print(df.shape) # (rows, columns)
print(df.dtypes) # data types per column
print(df.head()) # first 5 rows
print(df.describe()) # summary statisticsStage 3: Exploratory Data Analysis
El análisis exploratorio de datos es el trabajo de detective: graficar distribuciones, comprobar correlaciones y buscar valores atípicos antes de construir cualquier modelo.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
df = pd.read_csv('housing.csv')
# Distribution of target variable
df['price'].hist(bins=50)
plt.title('House Price Distribution')
plt.show()
# Correlation heat map
sns.heatmap(df.corr(), annot=True, cmap='coolwarm')
plt.show()
# Check for missing values
print(df.isnull().sum())Stage 4: Preprocess the Data
El preprocesamiento convierte datos desordenados en una matriz de características limpia: rellenando vacíos, escalando y codificando. Regla de oro: ajustar solo en los datos de entrenamiento para evitar fugas.
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd
import numpy as np
df = pd.read_csv('housing.csv')
X = df.drop('price', axis=1)
y = df['price']
# Split first, then fit scaler ONLY on train
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train) # fit + transform on train
X_test_scaled = scaler.transform(X_test) # transform only on testStage 5: Train the Model
Ahora entrena el modelo: en scikit-learn es una llamada a fit(). Comienza de forma sencilla con una línea base como un modelo lineal antes de recurrir a algo complejo.
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
# Simple baseline first
linear_model = LinearRegression()
linear_model.fit(X_train_scaled, y_train)
# More complex model
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train_scaled, y_train)
print('Linear model trained.')
print('Random Forest trained.')Stage 6: Evaluate the Model
Evalúa en datos de prueba reservados que el modelo nunca ha visto. Elige la métrica correcta: MAE y RMSE para números, y precisión (accuracy) y F1 para categorías.
from sklearn.metrics import mean_absolute_error, r2_score
import numpy as np
y_pred = linear_model.predict(X_test_scaled)
mae = mean_absolute_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
rmse = np.sqrt(((y_test - y_pred) ** 2).mean())
print(f'MAE: {mae:.2f}')
print(f'RMSE: {rmse:.2f}')
print(f'R2: {r2:.3f}')Stage 7: Iterate and Improve
El primer modelo rara vez es el mejor. El aprendizaje automático (ML) es iterativo: según los resultados, recopila más datos, crea características o ajusta la configuración, y vuelve a intentarlo.
Stage 8: Deploy the Model
El despliegue pone tu modelo entrenado a disposición de usuarios reales, a menudo como una API web, un trabajo por lotes o un modelo integrado en una aplicación. Un cuaderno por sí solo no aporta ningún valor.
import joblib
# Save the trained model
joblib.dump(linear_model, 'house_price_model.pkl')
print('Model saved.')
# Later, load and predict in production
loaded_model = joblib.load('house_price_model.pkl')
prediction = loaded_model.predict(X_test_scaled[:1])
print(f'Prediction: ${prediction[0]:,.0f}')Stage 9: Monitor and Retrain
El despliegue no es la línea de meta. Los datos cambian con el tiempo, por lo que necesitas supervisión para detectar caídas silenciosas en el rendimiento y activar el reentrenamiento cuando sea necesario.
The Workflow as a Scikit-learn Pipeline
Un Pipeline de scikit-learn encadena el preprocesamiento y el modelado en un solo objeto. Previene fugas de datos y hace que el despliegue sea más limpio: guarda y carga solo una cosa.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
# Chain preprocessing and model in one object
pipeline = Pipeline([
('scaler', StandardScaler()),
('model', LinearRegression())
])
# fit() applies scaler then trains the model
pipeline.fit(X_train, y_train)
# predict() applies scaler then predicts
y_pred = pipeline.predict(X_test)
print('Pipeline prediction done.')Quick Check
Pon a prueba tu comprensión de los conceptos de Aprendizaje Automático con Python de esta lección.
Lesson Recap
¡Gran progreso! El flujo de trabajo de ML va desde la definición del problema hasta el monitoreo, el preprocesamiento se ajusta únicamente a los datos de entrenamiento y el despliegue es el principio, no el final.
Preguntas frecuentes
¿La lección «El flujo de trabajo de ML: de los datos a la predicción» es gratis?
Sí — el texto completo de «El flujo de trabajo de ML: de los datos a la predicción» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Machine Learning Academy, actualiza a CoddyKit PRO. El curso de Machine Learning Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El flujo de trabajo de ML: de los datos a la predicción»?
Recorra el proceso completo, desde la recopilación y limpieza de datos sin procesar hasta el entrenamiento, la evaluación y la implementación del modelo. Practicas Machine Learning Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Machine Learning Academy?
No se requiere experiencia previa. Machine Learning Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «El flujo de trabajo de ML: de los datos a la predicción»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Machine Learning Academy?
Sí. Cada lección de Machine Learning Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Programación tradicional frente a aprendizaje automático
- Aprendizaje supervisado, no supervisado y por refuerzo
- El flujo de trabajo de ML: de los datos a la predicción
- ML en el mundo real: casos de uso y limitaciones