Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Updated: 20 feb 2026

Módulo 1

Este cuaderno forma parte de un curso intermedio de programación en Python para docentes de escuela superior en Puerto Rico.


Objetivos del módulo

Al finalizar este módulo, podrás:

  • Explicar con tus propias palabras qué es Machine Learning (ML).

  • Distinguir entre programación tradicional (basada en reglas) y sistemas de ML (basados en datos).

  • Reconocer la diferencia entre aprendizaje supervisado y no supervisado.

1. ¿Qué es Machine Learning?

En programación tradicional, nosotros escribimos reglas explícitas para que la computadora resuelva un problema.
En Machine Learning (ML), en lugar de escribir todas las reglas, le damos a la computadora datos y ejemplos, y el sistema aprende patrones por sí mismo.

Definición sencilla

Machine Learning es un conjunto de métodos que permiten a una computadora aprender a partir de datos para hacer predicciones o tomar decisiones, sin estar programada explícitamente para cada caso.

Ejemplos cotidianos de ML

  • Recomendaciones de YouTube/Netflix

  • Filtros de spam en el correo

  • Predicción del clima

  • Apps de navegación (selección de ruta)

  • Reconocimiento facial en fotos

  • Detección de fraude bancario

Piensa:
¿En cuáles de estos ejemplos es evidente que el sistema necesita “aprender” de muchos datos?

Actividad 1: ejemplos en tu entorno

  1. ¿Qué aplicaciones o servicios que usas a diario crees que usan Machine Learning?

Puedes escribir tus ideas directamente aquí en la siguiente celda.

Edita la lista ‘ejemplos_docente’ con tus propios ejemplos.

# Actividad 1: escribe tus ideas aquí (edita la lista)
# Edita la lista 'ejemplos_docente' con tus propios ejemplos.

ejemplos_docente = [
    "Ejemplo 1: ",
    "Ejemplo 2: ",
    "Ejemplo 3: "
]

for e in ejemplos_docente:
    print(e)
Ejemplo 1: 
Ejemplo 2: 
Ejemplo 3: 

2. Programación tradicional vs. Machine Learning

Programación tradicional (basada en reglas)

En la programación clásica:

  • Definimos reglas usando if, else, for, etc.

  • La computadora sigue esas reglas al pie de la letra.

  • Si las reglas no consideran un caso, el programa falla.

Ejemplo: clasificar si un número es par o impar.


numero = int(input("Ingresa un numero del 1 al 100:" ))

if numero % 2 == 0:
    print("Es par")
else:
    print("Es impar")

Machine Learning (basado en datos)

En ML:

  • No escribimos todas las reglas manualmente.

  • Entregamos datos etiquetados (ejemplos con respuestas correctas).

  • El algoritmo aprende patrones.

  • El modelo entrenado luego puede predecir sobre datos nuevos.

Ejemplo: predecir si un estudiante aprobará o no, usando asistencia, horas de estudio, tareas, etc.
Es difícil escribir reglas exactas a mano para todos los casos, pero un modelo puede aprender de muchos ejemplos.

3. Mini-demostración conceptual (no es ML real)

La siguiente celda no entrena un modelo; solo ilustra la idea de que los datos contienen una relación/patrón.

# Mini-demostración conceptual (NO es ML real)

# Supongamos que tenemos horas de estudio y si aprobó (1) o no (0)
horas_estudio = [1, 2, 3, 4, 5, 6]
aprobo =        [0, 0, 0, 1, 1, 1]

print("Horas de estudio:", horas_estudio)
print("Aprobó (0 = no, 1 = sí):", aprobo)

print("\nEn ML, un modelo intentaría 'aprender' la relación entre horas de estudio y aprobación.")
print("Por ahora solo queremos entender la idea: el patrón está en los datos, no en reglas escritas a mano.")
Horas de estudio: [1, 2, 3, 4, 5, 6]
Aprobó (0 = no, 1 = sí): [0, 0, 0, 1, 1, 1]

En ML, un modelo intentaría 'aprender' la relación entre horas de estudio y aprobación.
Por ahora solo queremos entender la idea: el patrón está en los datos, no en reglas escritas a mano.

4. Tipos principales de Machine Learning

Aunque hay muchos algoritmos, a nivel introductorio nos centraremos en dos grupos:

4.1 Aprendizaje supervisado

  • Los datos vienen con etiquetas (respuestas correctas).

  • El modelo aprende a predecir la etiqueta.

Ejemplos:

  • Predecir ventas diarias de una tienda (regresión).

  • Clasificar correos como spam/no spam (clasificación).

  • Determinar si una imagen contiene gato o perro.

4.2 Aprendizaje no supervisado

  • Los datos no tienen etiquetas.

  • El modelo busca patrones ocultos o grupos (clusters).

Ejemplos:

  • Agrupar clientes por comportamiento de compra.

  • Agrupar canciones por similitud.

  • Encontrar grupos de estudiantes con hábitos similares (sin usar notas).

En este curso trabajaremos principalmente con aprendizaje supervisado, porque es más intuitivo para iniciar y fácil de llevar al aula.

5. Actividad 2: ¿Supervisado o no supervisado?

Clasifica cada ejemplo como:

  • S = Supervisado

  • N = No supervisado

Vuelve a ejecutar la celda si quieres repetir el ejercicio.


ejemplos = {
    1: "Un sistema que predice el consumo eléctrico de mañana usando datos históricos.",
    2: "Un sistema que agrupa clientes de una tienda según su comportamiento, sin etiquetas previas.",
    3: "Un filtro que decide si un mensaje es spam o no spam.",
    4: "Un algoritmo que agrupa canciones por similitud sin que nadie le diga los géneros."
}

print("Clasifica cada ejemplo como:")
print("  S = Supervisado")
print("  N = No supervisado\n")

respuestas_usuario = {}
for i, texto in ejemplos.items():
    print(f"Ejemplo {i}: {texto}")
    respuesta = input("¿Es S o N? ").strip().upper()
    respuestas_usuario[i] = respuesta
    print()

# Respuestas correctas
correctas = {1: "S", 2: "N", 3: "S", 4: "N"}

print("Resultados:")
aciertos = 0
for i in ejemplos.keys():
    es_correcto = respuestas_usuario[i] == correctas[i]
    estado = "Correcto" if es_correcto else f" Incorrecto (era {correctas[i]})"
    print(f"Ejemplo {i}: {estado}")
    if es_correcto:
        aciertos += 1

print(f"\nPuntaje total: {aciertos} de {len(ejemplos)}")

6. Resumen del Módulo 1

Hoy aprendiste que:

  • Machine Learning permite aprender patrones a partir de datos.

  • A diferencia de la programación tradicional, en ML no escribimos todas las reglas a mano.

  • Dos tipos fundamentales de ML son:

    • Supervisado: datos con etiquetas → el modelo aprende a predecir.

    • No supervisado: datos sin etiquetas → el modelo descubre grupos/patrones.


Reflexión opcional (para docentes)

  1. Explica “¿Qué es Machine Learning?” en máximo 3 líneas, pensado para tus estudiantes.

  2. Piensa en una situación escolar o comunitaria donde datos podrían ayudar a tomar mejores decisiones.

  3. ¿Cómo introducirías este tema con un ejemplo cercano a tu contexto?

Escribe tus notas en la siguiente celda.

# Reflexión opcional: notas del docente (puedes editar y guardar)

explicacion_para_estudiantes = """
Escribe aquí tu explicación sencilla de qué es Machine Learning,
pensada para tu grupo de estudiantes.
"""

idea_contexto = """
Escribe aquí una situación (escuela/comunidad) donde datos podrían ayudar
a tomar mejores decisiones (asistencia, rendimiento, patrones, etc.).
"""

print("Este espacio es para tus notas. Puedes guardarlas en el repositorio.")
Este espacio es para tus notas. Puedes guardarlas en el repositorio.