En esta primera lección vamos a responder la pregunta fundamental del curso: ¿qué es exactamente el Machine Learning (aprendizaje automático)? Veremos una definición formal y otra intuitiva, entenderemos en qué se diferencia de la programación tradicional y conoceremos los conceptos básicos que usaremos durante todo el curso: modelo, entrenamiento, predicción y datos de entrenamiento. Además, presentaremos a MercaFresh, un supermercado online ficticio cuyos problemas de negocio nos acompañarán como hilo conductor en todas las lecciones. Entender bien estos cimientos es importante porque todo lo demás —estadística, preprocesamiento, algoritmos, evaluación— se construye sobre ellos.

Contenido

  1. Una definición intuitiva
  2. La definición formal
  3. Programación tradicional vs. Machine Learning
  4. Conceptos clave: datos, modelo, entrenamiento y predicción
  5. MercaFresh: el caso que acompañará todo el curso
  6. Qué es (y qué no es) el Machine Learning

Una definición intuitiva

Imagina que quieres enseñar a un niño a distinguir manzanas de naranjas. No le das una lista de reglas del tipo "si el diámetro es mayor de 7 cm y la rugosidad supera el índice 0,3, entonces es naranja". Simplemente le enseñas muchas manzanas y muchas naranjas, le dices cuál es cuál, y su cerebro aprende de los ejemplos. Al cabo de un tiempo, el niño reconoce una fruta que nunca ha visto antes.

El Machine Learning funciona con la misma filosofía:

  • En lugar de escribir reglas a mano, mostramos ejemplos al ordenador.
  • El ordenador detecta patrones en esos ejemplos.
  • Con esos patrones, es capaz de generalizar: dar respuestas correctas ante casos nuevos que nunca ha visto.

Dicho en una frase: el Machine Learning es la disciplina que permite a los ordenadores aprender de los datos sin ser programados explícitamente para cada caso concreto.

La definición formal

La definición más citada es la de Tom Mitchell (1997):

"Se dice que un programa aprende de la experiencia E con respecto a una tarea T y una medida de rendimiento P, si su rendimiento en T, medido por P, mejora con la experiencia E."

Parece abstracta, pero se entiende enseguida con un ejemplo aplicado a nuestro supermercado online:

Componente Significado Ejemplo en MercaFresh
Tarea (T) Lo que queremos que haga el programa Predecir cuántas unidades de leche se venderán mañana
Experiencia (E) Los datos de los que aprende Historial de ventas diarias de los últimos 3 años
Rendimiento (P) Cómo medimos si lo hace bien Diferencia media entre la predicción y las ventas reales

Si el programa, a medida que ve más historial de ventas (E), predice la demanda (T) con menos error (P), entonces está aprendiendo. Así de concreto es el aprendizaje automático: no es magia, es mejora medible a partir de datos.

Programación tradicional vs. Machine Learning

Esta es la distinción más importante de toda la lección. En la programación tradicional, el programador escribe las reglas; en Machine Learning, las reglas salen de los datos.

flowchart LR
    subgraph Tradicional["Programación tradicional"]
        A1[Datos] --> P1[Programa con reglas escritas a mano]
        R1[Reglas] --> P1
        P1 --> S1[Respuestas]
    end
    subgraph ML["Machine Learning"]
        A2[Datos] --> P2[Algoritmo de aprendizaje]
        S2[Respuestas conocidas] --> P2
        P2 --> R2[Modelo: reglas aprendidas]
    end

Fíjate en el cambio de flujo: en el enfoque tradicional entran datos y reglas, y salen respuestas. En Machine Learning entran datos y respuestas conocidas, y sale un modelo (las reglas aprendidas), que luego usaremos para responder casos nuevos.

Un ejemplo con código: detectar pedidos sospechosos

Supongamos que MercaFresh quiere detectar pedidos potencialmente fraudulentos. Con programación tradicional escribiríamos reglas a mano:

# Enfoque tradicional: reglas escritas por una persona
def es_pedido_sospechoso(importe, num_articulos, cliente_nuevo):
    """Devuelve True si el pedido parece sospechoso, según reglas fijas."""
    if importe > 500 and cliente_nuevo:
        return True          # pedido muy grande de un cliente recién registrado
    if num_articulos > 100:
        return True          # cantidad de artículos anormalmente alta
    return False

print(es_pedido_sospechoso(importe=650, num_articulos=12, cliente_nuevo=True))
# Salida: True

Expliquemos el fragmento paso a paso:

  • Definimos una función que recibe tres características del pedido: el importe, el número de artículos y si el cliente es nuevo.
  • Las condiciones (importe > 500, num_articulos > 100) son umbrales decididos por una persona, basados en su intuición.
  • El programa nunca mejorará por sí solo: si los estafadores cambian de táctica (por ejemplo, hacen muchos pedidos pequeños), habrá que reescribir las reglas a mano.

Con Machine Learning, en cambio, el planteamiento es distinto. Este fragmento es solo ilustrativo (aprenderemos a hacerlo de verdad en los módulos 4 y 6), pero muestra la idea:

# Enfoque de Machine Learning: las reglas se aprenden de ejemplos
from sklearn.tree import DecisionTreeClassifier

# Datos históricos: [importe, num_articulos, cliente_nuevo (1/0)]
pedidos = [
    [650, 12, 1],
    [30,   5, 0],
    [420, 80, 1],
    [55,  10, 0],
]
# Etiquetas conocidas: 1 = fue fraude, 0 = fue legítimo
etiquetas = [1, 0, 1, 0]

modelo = DecisionTreeClassifier()   # creamos un modelo vacío
modelo.fit(pedidos, etiquetas)      # ENTRENAMIENTO: aprende de los ejemplos

# PREDICCIÓN sobre un pedido nuevo que el modelo nunca ha visto
print(modelo.predict([[580, 15, 1]]))
# Salida: [1]  -> el modelo lo clasifica como sospechoso

Analicemos las diferencias clave:

  • No hemos escrito ningún if con umbrales: le hemos dado ejemplos históricos (pedidos) junto con las respuestas correctas (etiquetas).
  • La llamada modelo.fit(...) es el momento del entrenamiento: el algoritmo examina los ejemplos y deduce sus propias reglas internas.
  • La llamada modelo.predict(...) usa esas reglas aprendidas para responder ante un caso nuevo.
  • Si el fraude cambia de patrón, no reescribimos código: reentrenamos el modelo con datos más recientes.

¿Cuándo compensa cada enfoque?

Situación Enfoque recomendable
Las reglas son pocas, claras y estables (p. ej., calcular el IVA de un pedido) Programación tradicional
Las reglas son demasiadas o imposibles de enumerar (p. ej., reconocer una foto de un tomate) Machine Learning
El entorno cambia constantemente (fraude, gustos de los clientes) Machine Learning
No hay datos históricos disponibles Programación tradicional (de momento)

Conceptos clave: datos, modelo, entrenamiento y predicción

Estos cuatro términos aparecerán en cada lección del curso. Conviene fijarlos desde ya:

  • Datos de entrenamiento: el conjunto de ejemplos históricos del que el algoritmo aprende. En el ejemplo anterior, la lista pedidos con sus etiquetas. Cada fila es un ejemplo (o instancia) y cada columna una característica (o feature): importe, número de artículos, etc.
  • Modelo: el resultado del aprendizaje. Es una representación matemática de los patrones encontrados en los datos. Podemos imaginarlo como "las reglas aprendidas", empaquetadas en un objeto que sabe responder preguntas.
  • Entrenamiento: el proceso por el que el algoritmo ajusta el modelo a los datos. En scikit-learn se corresponde con el método fit().
  • Predicción (o inferencia): el uso del modelo ya entrenado para dar una respuesta ante datos nuevos. En scikit-learn, el método predict().

Una analogía útil: los datos de entrenamiento son el temario, el entrenamiento es el estudio, el modelo es el conocimiento adquirido y la predicción es el examen con preguntas nuevas.

flowchart LR
    D[Datos de entrenamiento] --> E[Entrenamiento]
    E --> M[Modelo]
    N[Datos nuevos] --> M
    M --> P[Predicciones]

Un matiz importante que desarrollaremos en el módulo 6: lo valioso de un modelo no es que acierte con los datos que ya vio, sino que generalice bien a datos nuevos. Un modelo que memoriza el pasado pero falla con el presente no sirve de nada en el negocio.

MercaFresh: el caso que acompañará todo el curso

MercaFresh es un supermercado online ficticio que opera en varias ciudades. Cada día registra miles de pedidos, y por tanto acumula datos muy valiosos:

  • Pedidos: fecha, productos, cantidades, importe, franja horaria de entrega.
  • Clientes: antigüedad, frecuencia de compra, ticket medio, ciudad, dispositivo usado.
  • Productos: categoría, precio, stock, caducidad, promociones activas.

Con estos datos, la dirección de MercaFresh se plantea preguntas de negocio que son, exactamente, problemas de Machine Learning. Los iremos resolviendo a lo largo del curso:

Pregunta de negocio Problema de ML Dónde lo trabajaremos
¿Cuántos kilos de fruta necesitaremos el sábado? Predicción de demanda Módulos 4 y 6
¿Qué clientes están a punto de dejar de comprarnos? Abandono de clientes (churn) Módulos 4, 6 y siguientes
¿Qué grupos naturales de clientes tenemos? Segmentación de clientes Módulo 5
¿Este pedido es anómalo o fraudulento? Detección de anomalías Módulos 5 y 9

De momento no necesitas entender cómo se resuelven; basta con que veas que detrás de cada pregunta de negocio hay datos, y detrás de los datos, patrones aprendibles.

Qué es (y qué no es) el Machine Learning

Para cerrar la lección, delimitemos bien el concepto:

  • El ML es una rama de la Inteligencia Artificial centrada en aprender de datos. Toda solución de ML es IA, pero no toda IA es ML (un sistema de reglas expertas escritas a mano también es IA).
  • El ML no es magia: si los datos son malos, escasos o sesgados, el modelo será malo. Lo resume el dicho "garbage in, garbage out" (si entra basura, sale basura).
  • El ML no es solo estadística, aunque se apoya fuertemente en ella (lo veremos en el módulo 2); pone el énfasis en la predicción automática y a gran escala.
  • Un modelo no entiende el negocio: encuentra correlaciones en los datos. La interpretación y las decisiones siguen siendo humanas.

Errores Comunes y Consejos

  • Confundir el modelo con el algoritmo. El algoritmo es la receta de aprendizaje (por ejemplo, "árbol de decisión"); el modelo es el resultado concreto tras entrenar con tus datos. Con el mismo algoritmo y datos distintos obtienes modelos distintos.
  • Pensar que más reglas manuales resuelven todo. Si te descubres escribiendo el vigésimo if para cubrir un caso especial, probablemente el problema pide un enfoque de aprendizaje.
  • Creer que el ML no necesita intervención humana. Alguien tiene que definir la tarea, elegir los datos, medir el rendimiento y decidir qué hacer con las predicciones.
  • Esperar certezas. Un modelo da predicciones probables, no verdades. En MercaFresh, "este cliente tiene un 80 % de probabilidad de abandonar" es información valiosísima, pero no una bola de cristal.
  • Consejo: cuando leas sobre ML, traduce siempre los términos a la definición de Mitchell: ¿cuál es la tarea T?, ¿cuál es la experiencia E?, ¿cómo se mide P? Este hábito te dará claridad durante todo el curso.

Ejercicios

Ejercicio 1

Identifica los componentes T, E y P (según la definición de Mitchell) para este caso de MercaFresh: "Queremos que el sistema sugiera automáticamente productos a cada cliente en la página de inicio, usando su historial de compras, y medir el porcentaje de sugerencias en las que el cliente hace clic".

Ejercicio 2

Clasifica cada uno de estos problemas de MercaFresh como más adecuado para programación tradicional o para Machine Learning, y justifica en una frase:

  1. Calcular los gastos de envío según el peso del pedido y el código postal (tarifas fijas publicadas).
  2. Estimar cuántos repartidores harán falta el próximo puente festivo.
  3. Validar que un correo electrónico introducido en el registro tiene formato correcto.
  4. Detectar reseñas de productos escritas por bots.

Ejercicio 3

En el ejemplo de código de la lección, la lista pedidos tenía 4 ejemplos con 3 características cada uno. Responde: (a) ¿qué representa cada fila?, (b) ¿qué representa cada columna?, (c) ¿qué papel juega la lista etiquetas?, (d) ¿qué línea del código realiza el entrenamiento y cuál la predicción?

Soluciones

Solución 1

  • T (tarea): sugerir productos relevantes a cada cliente en la página de inicio.
  • E (experiencia): el historial de compras de los clientes (y de clientes similares).
  • P (rendimiento): el porcentaje de clics sobre las sugerencias mostradas (CTR). Si al ver más historial las sugerencias reciben más clics, el sistema está aprendiendo.

Solución 2

  1. Tradicional: las tarifas son reglas fijas, conocidas y estables; no hay nada que aprender.
  2. Machine Learning: depende de patrones históricos complejos (festivos, clima, tendencias); es un problema de predicción a partir de datos.
  3. Tradicional: el formato de un correo se valida con una regla clara y estable.
  4. Machine Learning: no existen reglas fijas que definan una reseña de bot; los patrones cambian y deben aprenderse de ejemplos.

Solución 3

  • (a) Cada fila es un ejemplo (un pedido histórico concreto).
  • (b) Cada columna es una característica del pedido: importe, número de artículos y si el cliente era nuevo.
  • (c) etiquetas contiene la respuesta correcta conocida de cada ejemplo (1 = fraude, 0 = legítimo); es lo que permite al algoritmo aprender la relación entre características y resultado.
  • (d) El entrenamiento lo realiza modelo.fit(pedidos, etiquetas); la predicción, modelo.predict([[580, 15, 1]]).

Conclusión

En esta lección hemos definido el Machine Learning de forma intuitiva (aprender de ejemplos para generalizar) y formal (la definición T-E-P de Mitchell), y hemos visto su diferencia esencial con la programación tradicional: las reglas ya no se escriben a mano, sino que emergen de los datos durante el entrenamiento. También hemos fijado el vocabulario básico —datos de entrenamiento, modelo, entrenamiento, predicción— y hemos conocido MercaFresh, el supermercado online cuyos retos (demanda, churn, segmentación, anomalías) resolveremos a lo largo del curso. En la próxima lección daremos un paso atrás para entender de dónde viene todo esto: recorreremos la historia y evolución del Machine Learning, desde Turing hasta la era actual de la IA generativa.

Curso de Machine Learning

Módulo 1: Introducción al Machine Learning

Módulo 2: Fundamentos de Estadística y Probabilidad

Módulo 3: Preprocesamiento de Datos

Módulo 4: Algoritmos de Machine Learning Supervisado

Módulo 5: Algoritmos de Machine Learning No Supervisado

Módulo 6: Evaluación y Validación de Modelos

Módulo 7: Técnicas Avanzadas y Optimización

Módulo 8: Implementación y Despliegue de Modelos

Módulo 9: Proyectos Prácticos

Módulo 10: Recursos Adicionales

© Copyright 2026. Todos los derechos reservados