Capítulo 1: Fundamentos y Primeros Pasos

Práctica 1: La Magia sin Código (Teachable Machine).

Antes de escribir una sola línea de código, necesitamos entender cómo "piensa" una Inteligencia Artificial.

Hoy no vamos a programar. Hoy vamos a entrenar. Usaremos una herramienta de Google llamada Teachable Machine para crear un modelo capaz de distinguir entre dos cosas usando la cámara de tu computadora.


🎯 Objetivo de la Práctica


🧠 Conceptos Clave (Lo que debes saber)

Para que una IA aprenda, generalmente seguimos 3 pasos:

  1. Recopilar Datos (Input): Le mostramos muchos ejemplos (fotos, audios, texto).
  2. Entrenar (Train): La computadora busca patrones matemáticos en esos ejemplos.
  3. Probar (Test): Le mostramos algo nuevo y vemos si adivina qué es.

Analogía: Es como enseñar a un niño a diferenciar entre una manzana y una naranja. Primero le muestras muchas manzanas y le dices "esto es manzana". Luego haces lo mismo con las naranjas. Al final, le das una fruta nueva y le preguntas "¿Qué es esto?".


🛠️ Instrucciones Paso a Paso

Paso 1: Entrando al laboratorio

  1. Abre el navegador y ve a: teachablemachine.withgoogle.com
  2. Haz clic en el botón azul "Get Started".
  3. Selecciona "Image Project" (Proyecto de Imágenes) y luego "Standard Image Model".

Paso 2: Definiendo las "Clases"

Verás dos columnas. Estas son las categorías que queremos que la IA aprenda.

  1. En Class 1, cambia el nombre y ponle: Mano Arriba 👍.
  2. En Class 2, cambia el nombre y ponle: Mano Abajo 👎.

Paso 3: Recolectando Datos (El Dataset)

¡Hora de las fotos!

  1. En la columna Mano Arriba, haz clic en Webcam.
  2. Ponte frente a la cámara, levanta el pulgar y mantén presionado el botón Hold to Record unos segundos.
    • Tip: Mueve tu mano un poco (acércala, aléjala, muévela a los lados) para que la IA la reconozca en varias posiciones. Intenta tomar unas 50-100 fotos.
  3. Repite lo mismo en la columna Mano Abajo, pero ahora con el pulgar hacia abajo.

Paso 4: Entrenando al Modelo

  1. En la columna del centro, haz clic en el botón "Train Model".
  2. ¡NO cierres la pestaña! Espera a que termine. Tu navegador está haciendo cálculos matemáticos complejos en este momento.

Paso 5: Probando tu Creación

A la derecha verás el cuadro de Preview.

  1. Activa la cámara si está apagada.
  2. Haz gestos frente a la cámara.
  3. Observa las barras de abajo: ¿Cambian cuando subes o bajas el dedo? Si la barra de "Mano Arriba" se llena al 100% cuando haces el gesto, ¡felicidades! Has creado tu primer modelo de IA.

🧪 Experimentación (Rompe el modelo)

Las IAs no son perfectas. Intenta engañarla:

Si la IA se confunde, es porque sus datos de entrenamiento no incluían esos ejemplos.


📝 Reto Final (Entregable)

Para completar esta práctica, debes hacer lo siguiente:

  1. Crea un modelo nuevo que distinga entre dos objetos escolares (ej. "Pluma" vs "Cuaderno" o "Celular" vs "Calculadora").
  2. Asegúrate de que funcione bien.
  3. Toma una Captura de Pantalla donde se vea el modelo funcionando (detectando uno de los objetos con una certeza alta).
  4. Responde la siguiente pregunta en tu entrega:

    "Cuando mostraste un objeto que NO era ni la opción A ni la opción B (ejemplo: tu cara o el fondo vacío), ¿Qué decisión tomó la IA y por qué crees que pasó eso?"

Sube la captura y tu respuesta a la plataforma de tareas.

Práctica 2: Nuestro Laboratorio (Intro a Google Colab & Python).

Antes de que una computadora pueda aprender, debemos poder darle instrucciones. Esto lo hacemos usando un lenguaje de programación. Para Machine Learning, el lenguaje más popular es Python.

Hoy vamos a preparar nuestro laboratorio digital: Google Colab.


🎯 Objetivo de la Práctica


🧠 Conceptos Clave (Lo que debes saber)

Notebooks (Cuadernos)

Un notebook (como Colab) es un documento interactivo que mezcla texto explicativo (como este) y código ejecutable. Es la herramienta estándar en ciencia de datos.

Variables

Son como "cajas" para guardar información. Tienen un nombre y contienen un valor.

Listas

Son variables que guardan una colección ordenada de datos. Se usan corchetes [].


🛠️ Instrucciones Paso a Paso (¡Manos a la Obra!)

Paso 1: Abrir Colab y Nombrar el Archivo

  1. Ve a colab.research.google.com.
  2. Haz clic en "Archivo" y luego "Cuaderno Nuevo".
  3. En la parte superior, cambia el nombre del archivo a: Práctica 2 - Mi Nombre.

Paso 2: Usando Celdas de Texto (Markdown)

  1. En la primera celda, haz clic en + Texto.
  2. Escribe el título de la práctica (usa el símbolo # para hacerlo grande, como en BookStack).
  3. Esta es la forma de documentar tu código. ¡Una práctica sin documentación no es una buena práctica!

Paso 3: Declarando Variables

Ahora vamos a la primera celda de + Código.

  1. Escribe y ejecuta (presiona el botón de Play o Shift + Enter):
# 1. Declara tu nombre y tu edad en variables
mi_nombre = "Tu Nombre"
mi_edad = 17 

# 2. Usa la función print() para mostrar el valor
print("Hola, soy", mi_nombre, "y tengo", mi_edad, "años.")

Práctica 3: El Petróleo del Siglo XXI (Carga de datos con Pandas).

Dicen que "los datos son el nuevo petróleo". Pero el petróleo crudo no sirve de mucho si no se refina para convertirlo en gasolina.

En el mundo de Python, nuestra "refinería" se llama Pandas. Es una librería increíblemente potente que nos permite tomar archivos gigantes de Excel o CSV y manipularlos en milisegundos. Hoy dejaremos de ver datos como simples números y empezaremos a ver información.


🎯 Objetivo de la Práctica


🧠 Conceptos Clave

🐼 Pandas

No es el oso 🐼. Es la librería de PAnel DAta. Es la herramienta estándar en la industria para análisis de datos.

📊 DataFrame (df)

Es el objeto principal de Pandas. Imagínalo simplemente como una Tabla de Excel superpoderosa que vive en la memoria de tu código. Tiene filas (índices) y columnas (variables).

📄 CSV (Comma Separated Values)

Es el formato de archivo más común para datos. Es texto plano donde cada columna está separada por una coma. Es ligero y cualquier programa lo puede leer.


🛠️ Instrucciones Paso a Paso

Para esta práctica, usaremos una base de datos con las estadísticas de combate de los Pokémon.

Paso 1: Importar la librería

En tu primera celda de código, necesitamos llamar a nuestra herramienta.

import pandas as pd

# El "as pd" significa que de ahora en adelante, 
# en lugar de escribir "pandas", solo escribiremos "pd" para ahorrar tiempo.

Paso 2: Cargar los datos (El oleoducto)

Vamos a traer los datos directamente desde un repositorio en Internet. Copia esta URL con cuidado.

# Guardamos la dirección del archivo en una variable
url = "[https://raw.githubusercontent.com/KeithGalli/pandas/master/pokemon_data.csv](https://raw.githubusercontent.com/KeithGalli/pandas/master/pokemon_data.csv)"

# Leemos el archivo CSV y lo convertimos en un DataFrame llamado "df"
df = pd.read_csv(url)

print("¡Datos cargados correctamente!")

Paso 3: Exploración Inicial (Mirando los datos)

Nunca confíes en datos que no has visto. Vamos a ver las primeras filas.

# .head(n) muestra las primeras n filas
df.head(5)

Observa las columnas: Name, Type 1, HP (Vida), Attack, Defense, etc.

También podemos ver el final de la tabla:

# .tail(n) muestra las últimas n filas
df.tail(3)

Paso 4: Estadísticas Rápidas

¿Cuál es el promedio de ataque de todos los Pokémon? ¿Cuál es la defensa máxima? Pandas te lo dice en una línea.

# .describe() nos da un resumen estadístico automático
df.describe()

Busca la fila "mean" (promedio), "min" (mínimo) y "max" (máximo).

Paso 5: Ordenando Datos (Respondiendo preguntas)

Vamos a responder: ¿Cuáles son los Pokémon más débiles? Para eso, ordenamos la tabla por "Total" (la suma de sus poderes) de menor a mayor.

# sort_values ordena los valores. 
# ascending=True significa "ascendente" (de menor a mayor)
df.sort_values("Total", ascending=True).head(5)

Ahora al revés: ¿Cuáles son los más fuertes?

# ascending=False significa "descendente" (de mayor a menor)
df.sort_values("Total", ascending=False).head(5)

📝 Reto Final (Entregable)

En tu Notebook, escribe el código necesario para responder las siguientes preguntas utilizando lo que aprendiste hoy.