Python e IA

Machine learning básico para analistas BI

Machine learning básico para analistas BI: conceptos clave, tipos de modelos, un ejemplo de predicción de cancelación con scikit-learn y errores a evitar.

Por Equipo editorial de DashCore HubActualizado 7 min de lectura

El machine learning (aprendizaje automático) es una forma de dejar que una computadora aprenda patrones de los datos históricos para hacer predicciones sobre casos nuevos, como qué clientes probablemente cancelarán o cuánto venderá una tienda el próximo mes. Para un analista BI es una extensión natural de lo que ya haces: sigues definiendo la pregunta, preparando datos limpios y explicando los resultados. Esta guía cubre las ideas principales, los tipos de modelos, un ejemplo pequeño en Python y las trampas que debes evitar.

BI vs machine learning: ¿qué cambia realmente?

El BI tradicional es sobre todo descriptivo: qué pasó, dónde y cuánto. El machine learning es sobre todo predictivo: qué es probable que pase en un caso específico. Los dos funcionan mejor juntos. Tu dashboard muestra la tasa de cancelación del trimestre pasado; un modelo calcula el riesgo de cancelación de cada cliente actual; y el dashboard muestra la lista de alto riesgo para que el equipo actúe.

AspectoBusiness intelligenceMachine learning
Pregunta principal¿Qué pasó y por qué?¿Qué es probable que pase?
Resultado típicoReportes, KPIs, dashboardsPredicciones, puntajes, segmentos
Las reglas vienen dePersonas (lógica de negocio, DAX, SQL)Patrones aprendidos de los datos
Cómo se verificaConciliando con los sistemas fuenteProbando con datos que el modelo no ha visto

Vocabulario clave en palabras sencillas

  • Variables (features): las columnas de entrada de las que aprende el modelo, como meses como cliente o pedidos en los últimos 90 días.
  • Objetivo (target o etiqueta): la columna que quieres predecir, como "canceló: sí o no".
  • Datos de entrenamiento: filas históricas donde ya conoces la respuesta.
  • Datos de prueba: filas que se apartan para comprobar cómo funciona el modelo con casos que nunca vio.
  • Sobreajuste (overfitting): cuando el modelo memoriza los datos de entrenamiento en lugar de aprender patrones generales. Se ve excelente al entrenar y decepciona en la vida real.
  • Fuga de datos (data leakage): cuando una variable contiene información que no estaría disponible al momento de predecir, como usar la "fecha de cancelación" para predecir la cancelación. Produce resultados demasiado buenos para ser verdad.

Los tipos principales de machine learning para analistas

Aprendizaje supervisado

Tienes ejemplos históricos con respuestas conocidas. La clasificación predice una categoría (este cliente cancelará o no, esta transacción es sospechosa o no). La regresión predice un número (las ventas del próximo mes de una tienda, el valor esperado de un pedido). La mayoría de los casos de negocio caen aquí.

Aprendizaje no supervisado

No hay columna objetivo. El modelo busca estructura por su cuenta. El clustering (agrupamiento) junta clientes o productos parecidos en segmentos, que luego puedes nombrar y agregar a tu modelo de Power BI como una nueva dimensión.

Pronóstico de series de tiempo

Predice valores futuros de una serie a lo largo del tiempo, como las ventas mensuales. Tiene técnicas propias porque el orden de los datos importa. Nuestro proyecto de pronóstico de ventas con Python es una buena introducción práctica.

Consejo: Antes de construir cualquier modelo, escribe en una oración la decisión de negocio que va a apoyar, por ejemplo: "Cada lunes, el equipo de retención llama a los 50 clientes con mayor riesgo de cancelación". Si no puedes escribir esa oración, probablemente nadie usará el modelo.

Un ejemplo pequeño: predecir la cancelación de clientes en Python

Este ejemplo usa scikit-learn, la librería de Python más común para machine learning clásico. Supone un archivo customers.csv con una fila por cliente, algunas columnas de comportamiento y una columna churned (1 = se fue, 0 = se quedó).

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report

df = pd.read_csv("customers.csv")

features = ["months_active", "orders_last_90d",
            "avg_order_value", "support_tickets", "region"]
X = pd.get_dummies(df[features], columns=["region"])
y = df["churned"]

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

model = RandomForestClassifier(n_estimators=200, random_state=42)
model.fit(X_train, y_train)

print(classification_report(y_test, model.predict(X_test)))

importance = pd.Series(model.feature_importances_, index=X.columns)
print(importance.sort_values(ascending=False).round(3))

df["churn_risk"] = model.predict_proba(X)[:, 1]
df[["customer_id", "churn_risk"]].to_csv("churn_scores.csv", index=False)

Qué hace cada parte:

  1. get_dummies convierte la columna de texto region en columnas de 0 y 1, porque los modelos necesitan números.
  2. train_test_split aparta el 25 % de los clientes para la prueba. stratify=y mantiene la misma proporción de clientes que cancelaron en ambos grupos.
  3. Un random forest (bosque aleatorio) combina muchos árboles de decisión. Es un primer modelo sólido y tolerante para datos de negocio en tablas.
  4. classification_report muestra la precisión (precision) y la sensibilidad (recall) de cada clase en los datos de prueba.
  5. La importancia de variables da una idea aproximada de qué entradas usa más el modelo. Muestra asociación, no causa.
  6. predict_proba produce un puntaje de riesgo entre 0 y 1 que puedes cargar en Power BI o Excel. En la práctica, entrena con clientes pasados y calcula el puntaje de los clientes activos hoy.

Por qué la exactitud puede engañarte

Si solo una pequeña parte de los clientes cancela, un modelo que predice "nadie cancela" puede tener una exactitud (accuracy) alta y aun así no servir para nada. Por eso debes mirar el recall de la clase de cancelación (qué proporción de los que realmente se fueron detectó el modelo) y la precision (de los clientes marcados, cuántos realmente se fueron). Si el recall es bajo, prueba opciones como class_weight="balanced" en el modelo, mejores variables o un umbral de decisión distinto, y compara siempre con una regla sencilla que un gerente ya podría estar usando.

Atajo con IA: Pega tu reporte de clasificación en un asistente y pide: "Explícale estos resultados a un gerente de ventas en lenguaje sencillo. Luego dame tres formas de mejorar el recall de la clase de cancelación, con el código de scikit-learn para cada una". Es una forma rápida de aprender a leer las métricas de un modelo.

Del modelo al dashboard: poner las predicciones a trabajar

Un modelo solo genera valor cuando sus predicciones llegan a las personas que toman decisiones, y ahí es donde brillan las habilidades de BI. Un flujo sencillo y práctico se ve así:

  1. Calcula los puntajes con frecuencia fija. Corre el script cada semana o cada mes y guarda los resultados, con la fecha del cálculo, en una tabla o archivo que tu herramienta BI pueda leer.
  2. Une los puntajes a tu modelo. En Power BI, relaciona la tabla de puntajes con tu dimensión de clientes por el ID del cliente, como cualquier otra tabla de hechos.
  3. Convierte los puntajes en rangos. Los usuarios de negocio entienden mejor "riesgo alto, medio o bajo" que 0.73. Crea los rangos con umbrales claros y documentados.
  4. Arma una vista de acción. Una tabla con los clientes de alto riesgo, sus datos clave, el responsable y la fecha del último contacto suele ser más útil que un gráfico llamativo.
  5. Da seguimiento a los resultados. Compara el riesgo previsto con lo que realmente pasó en los meses siguientes, para saber si el modelo sigue funcionando y si las acciones del equipo hicieron diferencia.

Trampas comunes y cómo evitarlas

  • Fuga de datos: usa solo información que exista en el momento en que harías la predicción.
  • Probar con los datos de entrenamiento: evalúa siempre con datos apartados y, en problemas que dependen del tiempo, prueba con un período posterior.
  • Etiquetas malas: si "canceló" se define distinto en cada sistema, el modelo aprende ruido. Pónganse de acuerdo primero con la definición.
  • Sesgo y equidad: los modelos pueden repetir patrones de los datos históricos que no quieres repetir. Revisa qué variables usas, sobre todo las relacionadas con características personales, y sigue las políticas de tu organización.
  • Sin responsable: un modelo que nadie monitorea empeora poco a poco a medida que cambia el comportamiento de los clientes. Programa revisiones periódicas de su precisión.

No siempre necesitas Python. Power BI incluye visuales de IA como Influenciadores clave (Key Influencers) y Árbol de descomposición, y las plataformas en la nube ofrecen herramientas de machine learning automatizado. Las funciones y su disponibilidad varían según el producto y la licencia, así que revisa la documentación oficial para saber qué admite tu entorno.

Próximos pasos

Escoge una pregunta de tu negocio con un resultado claro de sí/no o numérico y suficiente historia, y prueba un modelo pequeño como el de arriba. Fortalece tu base de Python con Python para análisis de datos y el tutorial de pandas para usuarios de Excel, y mira cómo encaja el machine learning en el panorama completo en cómo la IA está cambiando el Business Intelligence.

Mira: lecciones en video

What Is Machine Learning? Beginner-Friendly Explanationpor LearnFree · Ver en YouTube ↗Video en inglés — activa los subtítulos traducidos en YouTube si los necesitas.

Preguntas frecuentes

¿Un analista BI necesita saber machine learning?

No es obligatorio para la mayoría de los puestos de BI, pero entender lo básico te ayuda a trabajar con científicos de datos, usar las funciones de IA de las herramientas BI y agregar puntajes predictivos a tus dashboards.

¿Qué librería de Python debo aprender primero para machine learning?

scikit-learn es el punto de partida estándar para modelos clásicos con datos en tablas. Aprende pandas primero para poder preparar los datos que necesita.

¿Cuál es la diferencia entre clasificación y regresión?

La clasificación predice una categoría, como cancela o no cancela. La regresión predice un número, como las ventas del próximo mes.

¿Puedo usar machine learning sin programar?

Sí, hasta cierto punto. Los visuales de IA de Power BI y las herramientas de machine learning automatizado en la nube permiten explorar patrones y crear modelos con poco o nada de código, según tu licencia.

¿Aprendes con la Academia?
Marca esta lección como completada para seguir tu progreso.
Hacer el quiz