Cómo crear una inteligencia artificial con Python

■
5 min de lectura

Python es el lenguaje de la inteligencia artificial por una razón poco romántica: ahí están las librerías. El lenguaje en sí no tiene nada especial; lo que tiene es veinte años de herramientas acumuladas que nadie ha replicado en otro sitio.

Aquí verás qué necesitas instalar, qué librería usar para cada cosa y los pasos reales de un primer modelo, incluida la parte que casi todos los tutoriales se saltan: saber si lo que has entrenado sirve para algo.

Si todavía no tienes claro qué quieres construir, empieza por cómo crear una inteligencia artificial desde cero, que explica los tres caminos posibles. Este artículo es el segundo: el que sí lleva código.

Qué necesitas instalar

Menos de lo que parece. Para empezar:

  • Python 3, la versión estable actual.
  • Un cuaderno interactivo: Jupyter en tu ordenador o Google Colab en el navegador. Colab es gratuito y no instalas nada, así que para aprender es la opción sensata.
  • Cuatro librerías y ya tienes el 90 % de lo que se usa en el día a día.

No necesitas tarjeta gráfica. Para todo lo que no sean imágenes o texto largo, un portátil corriente va sobrado, y si algún día necesitas más potencia se alquila por horas.

Qué librería para qué

  • pandas: cargar y manipular los datos. Es donde vas a pasar la mayor parte del tiempo, te guste o no.
  • NumPy: cálculo con matrices. Casi siempre la usas sin darte cuenta, por debajo de las demás.
  • scikit-learn: los algoritmos clásicos y, sobre todo, las herramientas para partir los datos y evaluar. Es con la que debes empezar.
  • Matplotlib: gráficas. Ver los datos evita la mitad de los errores.
  • PyTorch o TensorFlow: redes neuronales. Solo cuando de verdad las necesites, que es más tarde de lo que crees.

Un consejo que ahorra meses: no empieces por las redes neuronales. Para datos en tabla —ventas, clientes, sensores— los algoritmos clásicos de scikit-learn suelen igualar o ganar a una red, entrenan en segundos y puedes explicar por qué deciden lo que deciden. Eso último importa más de lo que parece cuando alguien te pregunte.

Los pasos de un primer modelo

1. Cargar y mirar los datos

Con pandas, en dos líneas. Y antes de nada, míralos: cuántas filas hay, cuántos huecos, qué rango tiene cada columna. El error más caro se comete aquí, no en el algoritmo.

2. Separar entrenamiento y prueba

Antes de tocar nada, aparta un trozo de los datos —entre el 20 y el 30 %— y no lo mires hasta el final. Ese trozo es tu única forma de saber si el modelo ha aprendido o ha memorizado.

Si preparas los datos usando también los de prueba, se contaminan y todas tus cifras mentirán. Tiene nombre propio, fuga de datos, y es el fallo más común en quien empieza.

3. Preparar los datos

  • Huecos: rellenar o quitar, según cuántos sean y por qué faltan.
  • Texto en categorías: convertirlo a números, porque los algoritmos no leen palabras.
  • Escalas: si una columna va de 0 a 1 y otra de 0 a 100.000, algunos algoritmos se desequilibran.

4. Entrenar

Aquí está la sorpresa: son dos líneas. Eliges el algoritmo y lo ajustas a tus datos. La parte difícil ya la hiciste antes.

5. Evaluar, que es lo que casi nadie hace bien

No te quedes con el porcentaje de aciertos. Es engañoso: si el 95 % de tus casos son de una clase, un modelo que conteste siempre esa clase acierta el 95 % y no sirve para nada.

Mira siempre estas tres cosas:

  • La matriz de confusión: qué confunde con qué. Te dice el tipo de error, no solo cuántos.
  • Precisión y exhaustividad: de lo que marcó como positivo, cuánto lo era; y de todos los positivos reales, cuántos pilló.
  • Cuál de los dos errores te duele más. No es lo mismo un filtro de spam que manda al buzón de basura un correo importante que uno que deja pasar publicidad.

Los cinco errores que va a cometer todo el mundo

  1. Empezar por la red neuronal. Prueba primero algo simple. Si funciona, ya está.
  2. No apartar datos de prueba o mirarlos antes de tiempo.
  3. Fiarse del porcentaje de aciertos con clases desequilibradas.
  4. Datos sucios. Ningún algoritmo arregla unos datos mal etiquetados. Ninguno.
  5. Buscar el modelo perfecto. Uno que funcione y esté en uso vale más que uno excelente que sigue en tu portátil.

Qué aprender después

Cuando tengas tu primer modelo funcionando, el orden que mejor resultado da es este: validación cruzada para no engañarte con una sola partición, luego cómo crear mejores variables a partir de las que tienes —que suele dar más mejora que cambiar de algoritmo—, y solo entonces redes neuronales, si tu problema son imágenes, audio o texto.

Preguntas frecuentes

¿Hace falta saber mucho Python?

No. Con listas, diccionarios, bucles y funciones te manejas. Lo demás se aprende sobre la marcha.

¿Necesito una tarjeta gráfica?

Para empezar, no. Solo si entrenas redes neuronales grandes con imágenes o texto, y entonces puedes alquilarla por horas.

¿Cuántos datos hacen falta?

Depende del problema, pero para un clasificador sencillo unos cientos de ejemplos por categoría ya dan algo utilizable. Importa más que estén bien etiquetados que que sean muchos.

¿scikit-learn o PyTorch?

scikit-learn para empezar y para datos en tabla. PyTorch cuando necesites redes neuronales de verdad.

¿Se puede hacer todo gratis?

Sí. Python y todas estas librerías son libres, y Google Colab da potencia de cálculo gratuita suficiente para aprender.