
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create a dataset
/ 25
Load Data to BigQuery Tables
/ 25
Explore and Investigate the Data with BigQuery
/ 10
Prepare Your Data
/ 10
Train an Unsupervised Model to Detect Anomalies
/ 10
Train a Supervised Machine Learning Model
/ 10
Predict Fraudulent Transactions on Test Data
/ 10
En este lab, explorarás datos de transacciones financieras para realizar análisis de fraudes y aplicarás técnicas de ingeniería de atributos y aprendizaje automático para detectar actividades fraudulentas usando BigQuery ML.
Se usarán datos públicos de transacciones financieras, que incluyen las siguientes columnas:
isfraud
La columna de destino isfraud incluye las etiquetas de las transacciones fraudulentas, con las que entrenarás modelos supervisados para detectar fraudes y aplicarás modelos no supervisados para detectar anomalías.
The data for this lab is from the Kaggle site. If you do not have a Kaggle account, it's free to create one.
Aprendizajes esperados
En este lab, usarás la interfaz de BigQuery para realizar ingeniería de atributos, y desarrollo, evaluación y predicción de modelos.
Participants that prefer Notebooks as the model development interface may choose to build models in AI Platform Notebooks instead of BigQuery ML. Then at the end of the lab, you can also complete the optional section. You can import open source libraries and create custom models or you can call BigQuery ML models within Notebooks using BigQuery magic commands.
If you want to train models in an automated way without any coding, you can use Google Cloud AutoML which builds models using state-of-the-art algorithms. The training process for AutoML would take almost 2 hours, that's why it is recommended to initiate it at the beginning of the lab, as soon as the data is prepared, so that you can see the results at the end. Check for the "Attention" phrase at the end of the data preparation step.
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
Haz clic en Siguiente.
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
También puedes encontrar la contraseña en el panel Detalles del lab.
Haz clic en Siguiente.
Haga clic para avanzar por las páginas siguientes:
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
Haz clic en Autorizar.
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
unzip
:Verás que se descomprimió 1 archivo.
finance
en Cloud Shell:Si el comando anterior se ejecuta correctamente, verás este resultado:
Haz clic en Revisar mi progreso para verificar el objetivo.
Para cargar los datos en BigQuery, puedes usar la interfaz de usuario de BigQuery o la terminal de comandos de Cloud Shell. Elige una de las opciones incluidas a continuación para cargar los datos.
finance.fraud_data
ejecutando el siguiente comando:La opción --autodetect
leerá automáticamente el esquema de la tabla (los nombres de variables, tipos, etc.).
Puedes subir datos de tu bucket de Cloud Storage abriendo BigQuery en la consola de Cloud.
En la ventana emergente Crear tabla, establece la Fuente
como Google Cloud Storage y selecciona el archivo CSV sin procesar en tu bucket de Cloud Storage.
Ingresa fraud_data como el nombre de la tabla y selecciona la opción Detección automática en Esquema para que los nombres de las variables se lean automáticamente de la primera línea del archivo sin procesar.
Haz clic en Crear tabla.
El proceso de carga puede tardar uno o dos minutos.
Haz clic en Revisar mi progreso para verificar el objetivo.
Si aún no lo has hecho, abre BigQuery en la consola de Cloud.
Luego, empieza a explorar los datos para comprenderlos mejor y prepararlos para los modelos de aprendizaje automático.
Agrega las siguientes consultas al EDITOR de consultas, haz clic en EJECUTAR y, luego, explora los datos.
Haz clic en REDACTAR CONSULTA NUEVA para iniciar la próxima consulta. De esa forma, podrás comparar resultados fácilmente cuando termines.
En la columna isFraud
, busca 1 = yes.
isFraud
):DEDICA UN MINUTO A REFLEXIONAR:
isfraud
por el número total de observaciones, obtienes la proporción de transacciones fraudulentas.En la próxima sección, aprenderás a responder esas preguntas y mejorar los datos para los modelos de aprendizaje automático.
Haz clic en Revisar mi progreso para verificar el objetivo.
Para mejorar los datos de modelado, agrega atributos nuevos, filtra tipos de transacciones innecesarios y aumenta la proporción de la variable de destino isFraud
con submuestreo.
En función de tus hallazgos de la etapa de análisis, solo debes analizar los tipos de transacción "TRANSFER"
y "CASH_OUT"
, y filtrar el resto. También puedes procesar variables nuevas de los valores de importes existentes.
El conjunto de datos tiene un objetivo extremadamente desequilibrado para el fraude (la tasa de fraude en los datos sin procesar equivale al 0.0013%). Tener eventos poco comunes es normal para los fraudes. Para que el patrón de comportamiento fraudulento sea más obvio para los algoritmos de aprendizaje automático y también interpretar los resultados, estratifica los datos y aumenta la proporción de las marcas fraudulentas.
Ejecuta la consulta.
Crea una tabla de datos de PRUEBA seleccionando una muestra aleatoria del 20%:
Esos datos se mantendrán separados y no podrán incluirse en el entrenamiento. Los usarás para otorgarle una puntuación al modelo en la etapa final.
BigQuery ML y AutoML particionan automáticamente los datos del modelo como TRAIN y VALIDATE, mientras usan los algoritmos de aprendizaje automático para probar la tasa de errores en los datos de entrenamiento y validación, y evitar el sobreajuste.
Los datos de muestra que creaste para el modelado tienen aproximadamente 228,000 filas de transacciones bancarias.
También puedes particionar manualmente el conjunto de datos como TRAIN/VALIDATE y TEST, en especial si quieres comparar modelos de entornos diferentes como AutoML o AI Platform, y tener coherencia.
DEDICA UN MINUTO A REFLEXIONAR:
Haz clic en Revisar mi progreso para verificar el objetivo.
Los métodos no supervisados suelen usarse en la detección de fraudes para explorar el comportamiento anormal en los datos. También son útiles cuando no hay etiquetas para fraude o la tasa de eventos es muy baja, y la cantidad de casos no permite crear un modelo supervisado.
En esta sección, usarás el algoritmo de agrupamiento en clústeres de k-means para crear segmentos de transacciones, analizar cada uno de los segmentos y detectar los que tienen anomalías.
kmeans
:De esa forma, se creará un modelo de k-means denominado model_unsupervised
con 5 clústeres usando las variables seleccionadas de fraud_data_model
.
Una vez que termine el entrenamiento del modelo, verás que aparece en Finanzas > Modelos.
El algoritmo k-means crea una variable de salida denominada centroid_id. Cada una de las transacciones se asigna a una centroid_id. El algoritmo asigna las transacciones que son similares entre sí al mismo clúster.
El índice Davies–Bouldin muestra una indicación del nivel de homogeneidad de los clústeres. Mientras más bajo sea el valor, más distantes serán los clústeres entre sí, lo que es un resultado deseado.
En la pestaña Evaluación (Evaluation), se muestran los atributos numéricos con gráficos de barras para cada centroide (clúster). Los números junto a las barras muestran el valor promedio de las variables en cada clúster. Como práctica recomendada, las variables de entrada pueden estandarizarse o agruparse en buckets para evitar el impacto de valores atípicos o números grandes en los cálculos de distancia para el agrupamiento en clústeres. Para simplificar el proceso en el ejercicio de este lab, se usan las variables originales.
Las variables categóricas que se usan como entrada se muestran por separado. Puedes ver la distribución de las transacciones TRANSFER y CASH_OUT en cada uno de los segmentos incluidos a continuación.
Es posible que los gráficos de tu modelo se vean diferentes por lo que debes enfocarte en los segmentos más pequeños y tratar de interpretar las distribuciones.
La variable objetivo isFraud
no se usó en este modelo no supervisado. En este ejercicio, se recomienda guardar esa variable para la creación de perfiles y usarla para explorar la distribución de actividades fraudulentas en cada uno de los clústeres.
Otorga puntuaciones a los datos de prueba (fraud_data_test
) usando este modelo y observa la cantidad de eventos de fraude en cada centroid_id
. Los algoritmos de agrupamiento en clústeres crean grupos homogéneos de observaciones. En esta consulta, ML.PREDICT
llamará al modelo y generará el centroid_id
de cada transacción en los datos de prueba.
Ejecuta el siguiente código en la consulta nueva:
DEDICA UN MINUTO A REFLEXIONAR:
Haz clic en Revisar mi progreso para verificar el objetivo.
Ya tienes todo listo para empezar a compilar modelos supervisados usando BigQuery ML para predecir la probabilidad de que ocurran transacciones fraudulentas. Empieza con un modelo simple: usa BigQuery ML para crear un modelo de regresión logística binario para clasificación. Con ese modelo, se intentará predecir si es probable que la transacción sea fraudulenta o no.
Para todas las variables no numéricas (categóricas), BigQuery ML realiza automáticamente una transformación de codificación one-hot. Esa transformación genera un atributo independiente para cada valor único en la variable. En este ejercicio, BigQuery ML realizará la codificación one-hot para la variable TYPE automáticamente.
Cuando esté lista, verás la tabla model_supervised_initial
en Finanzas > Modelos.
Una vez que se creó el modelo, puedes obtener los metadatos, el entrenamiento y las estadísticas de evaluación del modelo en la IU de la consola de BigQuery.
En la pestaña Evaluación, encontrarás distintas métricas de rendimiento específicas del modelo de clasificación.
Conocer el rendimiento del modelo es un tema clave del aprendizaje automático. Como se realizó una regresión logística para la clasificación, los siguientes conceptos clave son útiles para la comprensión:
En el gráfico de esta página de Wikipedia, se explican los conceptos de precisión y recuperación.
El valor de ROC para este modelo de regresión es muy alto. Puedes comprender mejor la exactitud haciendo pruebas con los resultados de los distintos umbrales de probabilidad.
Ahora analicemos las funciones que más influyen en el modelo.
Los pesos se estandarizan para eliminar el impacto de la escala de las variables usando la opción standardize. Los pesos más grandes son los más importantes. El signo del peso indica la dirección según la relación directa o inversa con el destino.
DEDICA UN MINUTO A REFLEXIONAR:
oldbalanceOrig
y type
son las dos variables más importantes.Haz clic en Revisar mi progreso para verificar el objetivo.
Haz un ejercicio divertido: crea un modelo nuevo y entrena los dos modelos para mejorar la exactitud.
Luego, compara los 2 modelos que creaste y elige el mejor.
Mejora el modelo de regresión logística actual agregando variables nuevas.
Después de crear el modelo, puedes evaluar el rendimiento del clasificador usando la función ML.EVALUATE
. La función ML.EVALUATE
compara el resultado o los valores predichos con los reales.
DEDICA UN MINUTO A REFLEXIONAR:
El último paso del aprendizaje automático es usar el mejor modelo para predecir el resultado en nuevos conjuntos de datos.
Los algoritmos del aprendizaje automático en BQML crean una variable anidada llamada predicted_<target_name\>_probs
. Esa variable incluye las puntuaciones de probabilidad para la decisión del modelo. El modelo decide si las transacciones son fraudulentas o genuinas.
DEDICA UN MINUTO A REFLEXIONAR:
Haz clic en Revisar mi progreso para verificar el objetivo.
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Actualización más reciente del manual: 12 de octubre de 2023
Prueba más reciente del lab: 12 de octubre de 2023
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
One lab at a time
Confirm to end all existing labs and start this one