Cuando programas, normalmente escribes las reglas a mano. Con el machine learning pasa al revés: le das muchos ejemplos al programa y él encuentra el patrón por su cuenta. Lo que sale de ese aprendizaje se llama modelo.

Si ya eres desarrollador pero este tema te parece otro mundo, aquí tienes una ruta de tres pasos para aprender a crear esos modelos sin perderte en la teoría: primero las ideas base, sin fórmulas; después la preparación de los datos, y por último cómo poner un modelo a trabajar dentro de una aplicación real.

Toda la ruta usa un mismo ejemplo: una tienda online que quiere detectar posibles compras hechas con tarjetas robadas.

Por qué tanta gente se atasca

Hay dos formas típicas de trabarse con el machine learning. La primera es empezar por la teoría: semanas de matemáticas y videos sin construir nada, y cuando por fin llega un problema real, no sabes por dónde empezar. La segunda es la contraria: copias un tutorial, llamas a una función para entrenar un modelo, ves un número alto y crees que ya está. Luego intentas repetirlo en otro proyecto y no sabes cómo.

Veamos el caso de la tienda. Alguien compra con una tarjeta robada, el dueño real reclama a su banco y se produce un contracargo: el pago se revierte y a ti te descuentan ese dinero, a menudo con una comisión encima. Pierdes el producto y la venta. Por eso quieres un modelo que detecte esas compras antes de aprobarlas.

Entrenas tu primer modelo y acierta el 99 % de las veces. Suena increíble, hasta que recuerdas que en tu tienda solo 1 de cada 100 compras es fraude. Un modelo que diga siempre «no es fraude» también acierta 99 de cada 100 veces, y no atrapa ni uno solo. Ese porcentaje de aciertos se llama accuracy (exactitud), y cuando una de las clases es tan rara, puede darte una imagen demasiado buena de tu modelo.

El problema, entonces, no suele ser que te falte matemática ni tutoriales, sino el orden en que aprendes las cosas. Además, tienes una ventaja: si ya sabes consultar una base de datos, crear una API y desplegarla, ya tienes buena parte de lo que este trabajo pide en el mundo real.

Para armar esta ruta usé Coursera, donde hay desde cursos de Andrew Ng hasta certificados de IBM y Microsoft. En cada paso te indico qué aprender, qué proyecto hacer y dónde estudiarlo. Los niveles y las duraciones son los que muestra hoy la página de cada curso, y pueden cambiar.

Paso 1: las ideas base, sin fórmulas

Son cinco ideas, todas aplicadas a la tienda, que te ayudan a evitar los errores más comunes.

Cómo aprende un modelo. Sin machine learning podrías escribir una regla como «si la compra pasa de 500 dólares y la tarjeta es de otro país, bloquéala». Funciona hasta que los estafadores la descubren y compran por 499. Con machine learning, en cambio, le das al modelo miles de compras pasadas con su respuesta: cuáles fueron fraude y cuáles no. Esa respuesta se llama etiqueta, y tus contracargos te dan buena parte de ellas. Eso sí, revisa el motivo de cada uno, porque también hay reclamos por productos que no llegaron o por cobros duplicados. De cada compra le pasas además datos como el monto, la hora, el país de la tarjeta o cuántas compras hizo esa cuenta ese día, y el modelo encuentra las combinaciones que suelen terminar en fraude.

Aprender de ejemplos que ya tienen la respuesta se llama aprendizaje supervisado. Si la respuesta es una categoría, como fraude o no fraude, es clasificación. Si es un número, como cuánto va a gastar un cliente, es regresión.

Entrenar y probar por separado. Piensa en un estudiante que consigue las preguntas del examen y memoriza las respuestas: saca la nota máxima, pero falla en cuanto le haces una pregunta nueva. Un modelo puede hacer lo mismo. Por eso separas tus datos en dos partes: con una entrenas y la otra la guardas para probar al final. Si le va muy bien con los datos de entrenamiento y mal con los de prueba, se memorizó las respuestas. Eso se llama sobreajuste y es uno de los errores más comunes.

Medir lo que importa. Volvamos al 99 % que no servía. Lo que te importa son dos preguntas:

  • De todos los fraudes que hubo, ¿cuántos atrapó? Eso es el recall.
  • De todas las compras que bloqueó, ¿cuántas eran fraude de verdad? Eso es la precisión.

Un ejemplo con números: de 10.000 compras, 100 son fraude. Tu modelo marca 80 como sospechosas y 60 de ellas lo eran. Atrapó 60 de 100 fraudes, así que su recall es del 60 %. De las 80 que marcó acertó 60, así que su precisión es del 75 %. Las otras 20 eran clientes buenos que se quedaron sin comprar. Su accuracy, por cierto, es del 99,4 %, casi igual al del modelo que nunca detecta nada. Por eso ese número solo no te dice mucho aquí.

Y aquí entra una decisión de negocio. Si solo le pides al modelo un sí o un no, scikit-learn corta en el 50 %, y eso rara vez es lo que quieres. Lo útil es pedirle el valor completo, por ejemplo un 82 % de que sea fraude, y decidir tú desde qué número bloqueas. Si bajas ese punto de corte, atrapas más fraudes pero molestas a más clientes buenos. Si lo subes, pasa lo contrario. No hay un número correcto: depende de qué te cuesta más.

Ojo: ese valor no siempre es una probabilidad real. En un modelo bien calibrado, de las compras a las que les da cerca del 80 %, alrededor del 80 % son fraude. Conviene comprobarlo antes de fiarte de él.

Los fraudes sin etiqueta. ¿Y los fraudes nuevos, los que nadie ha marcado todavía? Para eso está el aprendizaje no supervisado, donde el modelo trabaja sin respuestas, solo mirando los datos. Uno de sus usos es la detección de anomalías: el modelo aprende cómo se ve una compra normal y te avisa cuando algo no encaja. Por ejemplo, una cuenta que siempre compra cosas de 20 dólares y de pronto, a las 3 de la mañana, compra cinco televisores. Nadie le dijo que eso era fraude; simplemente no se parece a lo que había visto. Es una alerta y no una prueba, porque una compra rara también puede ser legítima.

Las redes neuronales, y cuándo no usarlas. Una red neuronal son muchas capas de cálculos pequeños, conectados entre sí, que se ajustan con cada ejemplo hasta dar buenas respuestas. Son la base del deep learning y de los LLM, pero no siempre son la mejor opción. Las redes brillan con imágenes, audio y texto. Para datos en forma de tabla, como tus compras, muchas veces funcionan mejor los árboles de decisión: una serie de preguntas de sí o no, como «¿la compra pasa de 300 dólares?» o «¿la cuenta tiene menos de un día?».

Un único árbol se puede leer como un conjunto de reglas, así que es fácil ver por qué tomó cada decisión. Si combinas muchos árboles, el resultado suele mejorar. Un estudio de 2022 con datos de tabla de tamaño medio, unas 10.000 muestras, encontró que esas combinaciones seguían por delante del deep learning. A cambio, una combinación ya no se lee tan fácil y necesitas herramientas que expliquen qué pesó en cada decisión, como SHAP.

Proyecto: tu detector de fraude

  1. Genera compras simuladas con un script, con un 1 % de fraude, y dale a ese fraude algún patrón, como montos altos de madrugada o muchas compras seguidas, para que el modelo tenga algo que encontrar.
  2. Separa los datos de entrenamiento y de prueba.
  3. Entrena un árbol de decisión con scikit-learn, una biblioteca de machine learning para Python. Como el fraude es tan raro, equilibra el peso de las clases: su documentación advierte que, si una clase domina, el árbol sale sesgado.
  4. Mide la precisión y el recall, no solo cuántas veces acierta.
  5. Prueba distintos puntos de corte y mira cómo cambia el equilibrio entre fraudes atrapados y clientes buenos bloqueados.

Dónde estudiarlo

  • Machine Learning Specialization, de Andrew Ng, creada entre DeepLearning.AI y Stanford Online. Es de nivel principiante y dura unos 2 meses a 10 horas por semana. Tiene tres cursos: el primero trata el aprendizaje supervisado (regresión y clasificación); el segundo, redes neuronales y árboles de decisión; el tercero, aprendizaje no supervisado, con detección de anomalías, sistemas de recomendación y aprendizaje por refuerzo. Incluye notebooks y ejercicios en Python con NumPy, scikit-learn y TensorFlow. Pide saber programar lo básico y matemáticas de secundaria.
  • Python for Data Science & AI, de IBM, si todavía no programas. Es de nivel principiante, no pide experiencia previa y dura unas 2 semanas a 10 horas por semana.

Paso 2: preparar los datos

En machine learning se repite mucho una idea: la mayor parte del trabajo no es el modelo, son los datos. En el paso 1 usaste compras simuladas, limpias y ordenadas. En una tienda real, los datos están repartidos en varias tablas, incompletos y desordenados. Con ellos vas a hacer cinco cosas.

Juntar los datos. Las cuentas están en una tabla, las compras en otra y los contracargos en otra, pero el modelo necesita una sola tabla con una fila por compra y, al final, la respuesta de si fue fraude o no. Para eso usas SQL, en especial los JOIN, que unen tablas a partir de un dato común como el ID de la cuenta. Como desarrollador, esto probablemente ya lo haces a diario.

Limpiarlos. Aquí se usan bibliotecas como pandas, que sirve para trabajar con tablas desde Python; piensa en una hoja de cálculo que manejas con código. Vas a encontrar compras sin país, compras repetidas, montos en varias monedas mezclados y fechas en distintos formatos. Por cada problema decides si lo corriges, lo completas o descartas la fila. Parece un trabajo menor, pero si le das datos sucios al modelo, aprende cosas que no son.

Crear señales. Aquí es donde más se nota la diferencia. El modelo no entiende qué es una compra: necesita números que cuenten su historia. Por ejemplo:

  • ¿Cuántas compras hizo esta cuenta en la última hora?
  • ¿Este monto es normal para este cliente o es 10 veces su promedio?
  • ¿El país de la tarjeta coincide con el país desde donde se conecta?
  • ¿Cuántos días tiene la cuenta?
  • ¿Es la primera vez que se usa esa tarjeta?

A esto se le llama ingeniería de características (feature engineering), y muchas veces mejora más el resultado que cambiar de modelo. La guía de reglas de machine learning de Google va en la misma línea: dice que la mayor parte de las mejoras viene de buenas características, no de grandes algoritmos.

Mirar los datos antes de entrenar. Grafica cuántos fraudes hay por hora del día o cómo se reparten los montos. Así puedes descubrir patrones, como que el fraude se concentra de madrugada, y también errores, como compras de 0 dólares que no deberían existir. Esto se suele hacer en un notebook, un documento que mezcla código, resultados y gráficos en un mismo lugar.

Evitar la fuga de datos. Esta trampa engaña incluso a gente con experiencia. Ocurre cuando le das al modelo información que en la vida real todavía no tendrías al momento de decidir. Si una de tus columnas es «la compra fue reembolsada», el modelo aprenderá que eso predice el fraude y en las pruebas sacará un resultado casi perfecto. Pero cuando llega una compra nueva, nadie sabe aún si se va a reembolsar, así que en la vida real falla.

Con el tiempo pasa algo parecido. Si mezclas compras de todas las fechas al separar entrenamiento y prueba, el modelo puede estar viendo el futuro. Lo correcto es entrenar con las compras más antiguas y probar con las más recientes, tal como pasará en tu tienda. Lo mismo vale para las señales: el promedio de un cliente debe calcularse solo con las compras anteriores a la que estás evaluando.

Proyecto: tu dataset de fraude

  1. Toma las compras simuladas del paso 1 y repártelas en una base de datos con tablas de cuentas, compras y contracargos.
  2. Con SQL, júntalas en una fila por compra.
  3. Con pandas, límpialas y crea al menos cinco señales.
  4. Grafica el fraude por hora y por monto.
  5. Separa por fecha, revisa que no haya fuga de datos y vuelve a entrenar el modelo del paso 1.
  6. Compara su precisión y su recall con y sin tus señales nuevas.

Dónde estudiarlo

IBM Data Science Professional Certificate. Es de nivel principiante, no pide experiencia previa y dura unos 4 meses a 10 horas por semana. Tiene 12 cursos. Los tres primeros presentan la ciencia de datos, sus herramientas y su metodología. El cuarto y el quinto se centran en Python, y el sexto en SQL. El séptimo y el octavo son análisis y visualización de datos, el corazón de este paso, con pandas entre las bibliotecas que se usan. El noveno es machine learning y el décimo, el proyecto final. Después hay uno de IA generativa y una guía de carrera.

Paso 3: llevar el modelo a producción

Tu modelo ya funciona en el notebook, pero un modelo en tu computador no detiene ningún fraude. Toca ponerlo a trabajar dentro de la tienda, y aquí tu experiencia como desarrollador pesa mucho más.

Conectar el modelo con la tienda. Guardas el modelo entrenado en un archivo y lo cargas en un servicio con una API, escrito en Python o en otro lenguaje. Cuando alguien va a pagar, la tienda le manda los datos de la compra y el servicio responde con la probabilidad de fraude. Todo pasa en tiempo real y antes de aprobar el pago, así que tiene que responder en milisegundos.

Hay un detalle que rompe muchos modelos: las señales, como cuántas compras hizo la cuenta en la última hora, tienen que calcularse igual que cuando entrenaste. Si en producción se calculan de otra forma, el modelo recibe datos distintos a los que conoció y se equivoca. Para evitarlo, reutiliza el mismo código en el entrenamiento y en el servicio siempre que puedas.

Aprobar, revisar o bloquear. En una tienda real, en vez de un solo punto de corte, puedes tener tres zonas. Si la probabilidad es baja, apruebas. Si es muy alta, bloqueas o pides una verificación extra, como un código al celular. Y si queda en el medio, la compra pasa a una persona que la revisa. Así reduces el dilema entre molestar a clientes buenos y dejar pasar fraudes, porque los casos dudosos los decide alguien con más contexto. Eso sí, esa revisión también tiene un costo.

Vigilar el modelo. Un modelo no se entrena una vez y ya. Los estafadores cambian de táctica, tu tienda vende productos nuevos o llega a otros países, y poco a poco los datos de hoy dejan de parecerse a los del entrenamiento. Se suele distinguir entre deriva de datos (data drift), cuando cambian los datos de entrada, y deriva de concepto (concept drift), cuando cambia la relación entre esos datos y el resultado, como cuando un fraude pasa a parecerse a una compra normal. Cualquiera de las dos puede hacer que el modelo empeore sin que nadie se dé cuenta.

Por eso lo monitoreas: cuántas compras se bloquean por día y cómo van su precisión y su recall. Aquí hay otra trampa. Los contracargos pueden tardar semanas o meses, ya que las redes de tarjetas suelen dar unos 120 días para reclamar, así que solo sabrás si el modelo acertó con retraso. Cuando veas que empeora, lo vuelves a entrenar con datos recientes, sin olvidar que una compra de ayer sin contracargo todavía no es una compra «sin fraude».

Versiones y despliegues. Cada vez que reentrenas tienes un modelo nuevo, y puede salir peor que el anterior. Por eso lo tratas como tu código: cada uno tiene su versión, sabes con qué datos se entrenó y cuál está en producción. Antes de cambiarlo del todo, pruebas el nuevo con una parte pequeña de las compras (un despliegue canary). Si algo sale mal, vuelves a la versión anterior. Todo esto también se puede automatizar con CI/CD, igual que en tus aplicaciones de todos los días.

Explicar cada decisión. Cuando bloqueas a un cliente, alguien va a preguntar por qué: el cliente, tu equipo de soporte o el banco. Tu sistema tiene que poder responder qué pesó en esa decisión; por ejemplo, que el monto era 10 veces su promedio y la tarjeta era de otro país. También tienes que revisar si el modelo es justo: si bloquea muchas compras de un país o de un banco sin una razón real, estás castigando a tus clientes buenos. Esto forma parte de lo que se llama IA responsable, y es parte de tener un modelo en producción.

Proyecto: pon tu detector a trabajar

  1. Guarda el modelo del paso 2 y sírvelo en una API que reciba compras y devuelva probabilidades.
  2. A partir de ahí, toma decisiones: aprobar, revisar o bloquear.
  3. Calcula las señales con el mismo código que usaste para entrenar.
  4. Guarda cada decisión en tu base de datos, con la versión del modelo que la tomó.
  5. Arma un panel simple con cuántas compras se aprueban, se revisan y se bloquean por día.
  6. Simula un fraude nuevo: cambia el patrón en tus datos, mira cómo empeora el modelo, reentrénalo y despliega una versión nueva.

Dónde estudiarlo

Microsoft AI & ML Engineering Professional Certificate. Es de nivel intermedio y dura unos 6 meses a 7 horas por semana. Pide Python a nivel intermedio y conocimientos básicos de IA y machine learning, y recomienda familiaridad con la estadística. Tiene cinco cursos:

  1. Fundamentos: infraestructura, manejo de datos, elección de framework y plataformas de despliegue.
  2. Algoritmos: aprendizaje supervisado, no supervisado, por refuerzo y deep learning.
  3. Agentes: agentes inteligentes que diagnostican y resuelven problemas.
  4. Azure, la nube de Microsoft: desplegar modelos, CI/CD y monitoreo de modelos en producción. Es el corazón de este paso.
  5. Técnicas avanzadas y proyecto final: un sistema de detección de fraude es una de las opciones de proyecto que menciona.

Necesitas una licencia de Azure o su prueba gratis. La página avisa de que la prueba tiene un tiempo limitado y puede vencerse antes de terminar el programa.

Dónde encajan los LLM

Los LLM, los modelos que usas a diario en los chats, parten de lo mismo que viste en el paso 1: una red neuronal que aprende de ejemplos. La diferencia más visible es la escala. Se entrenan con cantidades enormes de texto para predecir la siguiente palabra (en realidad, el siguiente token), y después se ajustan para que se comporten como asistentes.

Eso no reemplaza lo que has aprendido. Para decidir en milisegundos si una compra es fraude a partir de los datos de una tabla, un modelo como el tuyo suele ser más rápido, más barato y más fácil de explicar. El LLM sirve para otra cosa: leer texto. Por ejemplo, entender el mensaje que escribió un cliente al reclamar, o resumirle cada caso sospechoso a la persona que lo revisa.

Si quieres seguir por aquí, tienes tres caminos:

  • Generative AI with Large Language Models, de AWS y DeepLearning.AI, para entender cómo se entrenan estos modelos, cómo se ajustan a una tarea y cómo se usan en aplicaciones. Es de nivel intermedio y dura unas 2 semanas a 10 horas por semana. Conviene saber algo de Python y lo básico de machine learning.
  • Deep Learning Specialization, también con Andrew Ng, para entender las redes neuronales y aplicarlas a imágenes y a secuencias como el texto o el audio. Es de nivel intermedio y dura unos 3 meses a 10 horas por semana.
  • Mathematics for Machine Learning and Data Science, de DeepLearning.AI, si quieres la matemática que hay detrás, con ejercicios en Python. Es de nivel intermedio y dura unas 12 semanas a 5 horas por semana.

Lo que más cuenta

Sea cual sea el curso que elijas, ve haciendo proyectos pequeños. Un certificado te ayuda a demostrar lo que estudiaste, pero desde mi punto de vista lo que más pesa es lo que construiste y la experiencia que ganaste en el camino.

Y si quieres ver alguno de estos proyectos en la práctica, puedes pedirlo en los comentarios del video.

Fuentes

Este contenido es una colaboración con Coursera. #Coursera #CourseraPartner #ad