Puntos de control
Write a query to determine available seasons and games
/ 10
Create a labeled machine learning dataset
/ 10
Create a machine learning model
/ 20
Evaluate model performance and create table
/ 10
Using skillful ML model features
/ 10
Train the new model and make evaluation
/ 10
Run a query to create a table ncaa_2018_predictions
/ 10
Run queries to create tables ncaa_2019_tournament and ncaa_2019_tournament_predictions
/ 20
Predice resultados deportivos con el aprendizaje automático de Google
- GSP461
- Descripción general
- Configuración y requisitos
- Tarea 1: Abre la consola de BigQuery
- Tarea 2: El March Madness de la NCAA
- Tarea 3: Busca el conjunto de datos públicos de la NCAA en BigQuery
- Tarea 4: Escribe una consulta para determinar las temporadas y los partidos disponibles
- Tarea 5: Comprende las etiquetas y los atributos del aprendizaje automático
- Tarea 6: Crea un conjunto de datos de aprendizaje automático etiquetado
- Tarea 7: Crea un modelo de aprendizaje automático para predecir el ganador según la clasificación y el nombre del equipo
- Tarea 8: Evalúa el rendimiento del modelo
- Tarea 9: Realiza predicciones
- Tarea 10: ¿Cuántos aciertos tuvo nuestro modelo respecto del torneo de la NCAA del 2018?
- Tarea 11: Los modelos solo tienen un alcance limitado
- Tarea 12: Usa atributos útiles de los modelos de AA
- Tarea 13: Obtén una vista previa de los nuevos atributos
- Tarea 14: Interpreta las métricas seleccionadas
- Tarea 15: Entrena el nuevo modelo
- Tarea 16: Evalúa el rendimiento del nuevo modelo
- Tarea 17: Inspecciona lo que aprendió el modelo
- Tarea 18: Momento de la predicción
- Tarea 19: Analiza las predicciones
- Tarea 20: ¿Cuáles fueron las victorias inesperadas que ocurrieron en marzo de 2018?
- Tarea 21: Compara el rendimiento de los modelos
- Tarea 22: Predice los resultados del March Madness 2019
- ¡Felicitaciones!
GSP461
Descripción general
BigQuery es la base de datos de análisis de Google de bajo costo, no-ops y completamente administrada. Con BigQuery, puedes consultar muchos terabytes de datos sin tener que administrar infraestructura o contar con un administrador de base de datos. Esta base de datos usa SQL y un modelo de pago por uso, y permite enfocarse en el análisis de datos para hallar estadísticas valiosas.
Con BigQuery ML, los analistas de datos pueden aprovechar sus conocimientos sobre SQL para crear modelos de aprendizaje automático rápidamente en el mismo lugar donde se encuentran sus datos en BigQuery.
BigQuery cuenta con un conjunto de datos público con información sobre los partidos, equipos y jugadores de baloncesto de la NCAA. Los datos de los partidos incluyen información detallada de las jugadas y anotaciones desde el 2009, así como resultados finales desde 1996. En el caso de algunos equipos, los datos adicionales sobre las victorias y las derrotas se remontan a la temporada de 1894-1895.
En este lab, usarás BigQuery ML para elaborar prototipos, entrenar modelos, realizar evaluaciones y predecir los “ganadores” y “perdedores” de dos equipos del torneo de baloncesto de la NCAA.
Actividades
En este lab, aprenderás a hacer lo siguiente:
- Usar BigQuery para acceder al conjunto de datos público de la NCAA
- Explorar el conjunto de datos para familiarizarte con el esquema y el alcance de los datos disponibles
- Preparar los datos existentes y transformarlos en atributos y etiquetas
- Dividir el conjunto de datos en subconjuntos de entrenamiento y evaluación
- Usar BigQuery ML para crear un modelo basado en el conjunto de datos de torneos de la NCAA
- Usar el modelo nuevo para predecir los ganadores de los torneos de la NCAA de tu ronda
Requisitos previos
Este lab es de nivel intermedio, por lo que debes tener experiencia en SQL y conocer las palabras clave del lenguaje. También se recomienda tener conocimientos de BigQuery. Si necesitas ponerte al día en estas áreas antes de intentar este lab, debes realizar, como mínimo, uno de los siguientes labs:
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
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:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
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:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debe usar para el lab
- Otra información para completar el lab, si es necesaria
-
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.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta. -
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}} 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.
{{{user_0.password | "Password"}}} También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Cómo abrir la consola de BigQuery
- En la consola de Google Cloud, seleccione elmenú de navegación > BigQuery.
Se abrirá el cuadro de mensaje Te damos la bienvenida a BigQuery en la consola de Cloud. Este cuadro de mensaje contiene un vínculo a la guía de inicio rápido y las notas de la versión.
- Haga clic en Listo.
Se abrirá la consola de BigQuery.
Tarea 1: Abre la consola de BigQuery
-
En la consola de Cloud, abre el menú de navegación y selecciona BigQuery.
-
Haz clic en LISTO para ir a la IU en fase beta. Asegúrate de que el ID de tu proyecto esté configurado en la pestaña Explorador, que debería verse de la siguiente manera:
Si haces clic en la flecha EXPANDIR EL NODO junto a tu proyecto, no verás bases de datos ni tablas, ya que aún no has agregado ninguna al proyecto.
Por suerte, hay muchos conjuntos de datos públicos y abiertos disponibles en BigQuery para que los uses. Ahora, obtendrás más información sobre el conjunto de datos de la NCAA y, luego, descubrirás cómo agregarlo a tu proyecto de BigQuery.
Tarea 2: El March Madness de la NCAA
Cada año, la National Collegiate Athletic Association (NCAA) organiza dos torneos importantes de baloncesto universitario en Estados Unidos: uno para hombres y otro para mujeres. En el torneo masculino de la NCAA que se realiza en marzo, 68 equipos participan en partidos de eliminación directa y uno resulta ganador general del March Madness.
La NCAA ofrece un conjunto de datos público que contiene las estadísticas de los partidos de baloncesto masculinos y femeninos, y de los jugadores de la temporada y los torneos finales. Los datos de los partidos incluyen información detallada de las jugadas y anotaciones desde el 2009, así como resultados finales desde 1996. En el caso de algunos equipos, los datos adicionales sobre las victorias y las derrotas se remontan a la temporada de 1894-1895.
- Asegúrate de consultar esta entrada del blog de Google Cloud sobre la predicción de estadísticas en vivo para obtener más información sobre el conjunto de datos y lo que se hizo con él. También puedes ver un panel de demostración sobre el torneo en Google Cloud March Madness Insights.
Tarea 3: Busca el conjunto de datos públicos de la NCAA en BigQuery
-
Asegúrate de permanecer en la consola de BigQuery para realizar este paso. En la pestaña Explorador, haz clic en el botón + AGREGAR y, luego, selecciona Conjuntos de datos públicos.
-
En la barra de búsqueda, escribe NCAA Basketball y presiona Intro. Aparecerá un resultado. Selecciónalo y, luego, haz clic en VER CONJUNTO DE DATOS:
Se abrirá una nueva pestaña de BigQuery con el conjunto de datos cargado. Puedes seguir trabajando en esa pestaña, o bien cerrarla y actualizar la consola de BigQuery en la otra pestaña para ver el conjunto de datos públicos.
- Expande el conjunto de datos bigquery-public-data > ncaa_basketball para revelar sus tablas:
Deberías ver 10 tablas en el conjunto de datos.
-
Haz clic en
mbb_historical_tournament_games
y, luego, en VISTA PREVIA para ver las filas de muestra de datos. -
Luego, haz clic en DETALLES para obtener los metadatos de la tabla.
La página debería tener el siguiente aspecto:
Tarea 4: Escribe una consulta para determinar las temporadas y los partidos disponibles
Ahora, escribirás una consulta sencilla en SQL para determinar cuántas temporadas y partidos se encuentran disponibles para explorar en nuestra tabla mbb_historical_tournament_games
.
- En el EDITOR de consultas, que se encuentra arriba de la sección de detalles de la tabla, copia y pega lo siguiente:
- Haz clic en EJECUTAR. Algunos segundos después, deberías obtener un resultado similar al siguiente:
- Desplázate por el resultado y anota la cantidad de temporadas y de partidos que se jugaron en cada una de ellas. Usarás esa información para responder las siguientes preguntas. Además, en la parte inferior derecha, junto a las flechas de paginación, podrás ver rápidamente cuántas filas se devolvieron.
Haz clic en Revisar mi progreso para verificar el objetivo.
Pon a prueba tus conocimientos
Responde las siguientes preguntas de opción múltiple para reforzar tus conocimientos sobre los conceptos que tratamos hasta ahora. Trata de responderlas lo mejor posible.
Tarea 5: Comprende las etiquetas y los atributos del aprendizaje automático
El objetivo final de este lab es predecir el ganador de un determinado partido de baloncesto masculino de la NCAA usando datos históricos. En el aprendizaje automático, cada columna de datos que nos ayuda a determinar un resultado (en este caso, la victoria o derrota en un partido del torneo) se denomina atributo.
La columna de datos que intentas predecir se denomina etiqueta. Los modelos de aprendizaje automático “aprenden” la relación entre los atributos para predecir el resultado de una etiqueta.
Estos son algunos ejemplos de atributos del conjunto de datos histórico:
- Temporada
- Nombre del equipo
- Nombre del equipo rival
- Clasificación del equipo (ranking)
- Clasificación del equipo rival
La etiqueta que intentarás predecir será el resultado de cada partido futuro, es decir, si un equipo gana o pierde.
Pon a prueba tus conocimientos
Responde las siguientes preguntas de opción múltiple para reforzar tus conocimientos sobre los conceptos que tratamos hasta ahora. Trata de responderlas lo mejor posible.
Tarea 6: Crea un conjunto de datos de aprendizaje automático etiquetado
Para compilar un modelo de aprendizaje automático, se requieren muchos datos de entrenamiento de alta calidad. Por suerte, nuestro conjunto de datos de la NCAA es lo suficientemente sólido como para que podamos compilar un modelo eficaz basándonos en él.
-
Regresa a la consola de BigQuery. Deberías haberte detenido en el resultado de la consulta que ejecutó.
-
En el menú de la izquierda, abre la tabla
mbb_historical_tournament_games
haciendo clic en su nombre. Una vez que se cargue, haz clic en VISTA PREVIA. La página debería tener el siguiente aspecto:
Pon a prueba tus conocimientos
Responde las siguientes preguntas de opción múltiple para reforzar tus conocimientos sobre los conceptos que tratamos hasta ahora. Trata de responderlas lo mejor posible.
-
Después de inspeccionar el conjunto de datos, observarás que una fila del conjunto de datos tiene las columnas
win_market
ylose_market
. Deberás dividir el registro de un partido en un registro para cada equipo, de modo que puedas etiquetar cada fila como “ganador” o “perdedor”. -
En el EDITOR de consultas, copia y pega la siguiente consulta y haz clic en EJECUTAR:
Deberías recibir el siguiente resultado:
Haz clic en Revisar mi progreso para verificar el objetivo.
Ahora que conoces qué atributos se encuentran disponibles a partir del resultado, responde la siguiente pregunta para reforzar tus conocimientos sobre el conjunto de datos.
Tarea 7: Crea un modelo de aprendizaje automático para predecir el ganador según la clasificación y el nombre del equipo
Ahora que ya exploramos nuestros datos, es momento de entrenar un modelo de aprendizaje automático.
- Responde la siguiente pregunta según tus conocimientos para orientarte en esta sección.
Cómo elegir un tipo de modelo
Para este problema en particular, compilarás un modelo de clasificación. Como tendremos dos clases, victoria o derrota, también se denomina modelo de clasificación binaria. Un equipo puede ganar o perder un partido.
Si lo deseas, después del lab, puedes predecir la cantidad total de puntos que anotará un equipo con un modelo de predicción, pero ese no es el enfoque de esta tarea.
Una manera sencilla de saber si estás prediciendo o clasificando es mirar el tipo de etiqueta (columna) de los datos que estás intentando predecir:
- Si se trata de una columna numérica (como unidades vendidas o puntos en un partido), estás prediciendo.
- Si se trata de un valor de cadena, estás clasificando (esa fila es de esta clase o de esta otra).
- Si tienes más de dos clases (como victoria, derrota o empate), estás clasificando en clases múltiples.
Nuestro modelo de clasificación llevará a cabo el aprendizaje automático con un modelo estadístico muy popular llamado regresión logística.
Necesitamos un modelo que genere una probabilidad para cada valor posible de etiqueta discreta, el que en nuestro caso es una “victoria” o una “derrota”. La regresión logística es un buen tipo de modelo para comenzar con este objetivo. Lo positivo es que el modelo de AA hará todos los cálculos y la optimización durante el entrenamiento del modelo, una actividad en la que las computadoras llegan a ser infalibles.
Crea un modelo de aprendizaje automático con BigQuery ML
Para crear nuestro modelo de clasificación en BigQuery, solo hay que escribir la instrucción de SQL CREATE MODEL
y proporcionar algunas opciones.
Sin embargo, antes de poder crear el modelo, necesitamos un lugar para almacenarlo en nuestro proyecto.
- En el panel Explorador, haz clic en el ícono Ver acciones que se encuentra junto al ID del proyecto y elige Crear un conjunto de datos.
- Se abrirá el diálogo Crear un conjunto de datos. Configura el ID de tu conjunto de datos como
bracketology
y haz clic en CREAR CONJUNTO DE DATOS.
- Ahora, ejecuta el siguiente comando en el EDITOR de consultas:
En nuestro código, observarás que solo se requieren unas pocas líneas de SQL para crear el modelo. Una de las opciones más importantes es elegir el tipo de modelo logistic_reg para nuestra tarea de clasificación.
Entrenar el modelo tardará entre 3 y 5 minutos. Deberías obtener el siguiente resultado cuando finalice el trabajo:
- En el lado derecho de la consola, haz clic en el botón Ir al modelo.
Haz clic en Revisar mi progreso para verificar el objetivo.
Ve los detalles del entrenamiento de modelos
- Ahora que te encuentras en los detalles del modelo, desplázate hasta la sección Opciones de entrenamiento y ve las iteraciones reales que realizó el modelo para el entrenamiento.
Si tienes experiencia en aprendizaje automático, observa que puedes personalizar todos esos hiperparámetros (opciones configuradas antes de ejecutar el modelo) definiendo su valor en la instrucción OPTIONS
.
Si no tienes experiencia, BigQuery ML configurará valores inteligentes predeterminados para cualquier opción que no esté configurada.
Si necesitas más información, consulta la lista de opciones de modelos de BigQuery ML.
Ve las estadísticas del entrenamiento de modelos
Los modelos de aprendizaje automático “aprenden” la asociación entre los atributos conocidos y las etiquetas desconocidas. Como puedes suponer, algunos atributos, como la "clasificación" o el "nombre de la universidad", pueden ser de mayor ayuda para determinar una victoria o una derrota que otras columnas de datos (atributos), como el día de la semana en el que se juega el partido.
Los modelos de aprendizaje automático inician el proceso de entrenamiento sin esa intuición y, por lo general, aleatorizarán la ponderación de cada atributo.
Durante el proceso de entrenamiento, el modelo optimizará una ruta para ponderar cada atributo de la mejor manera posible. Con cada ejecución, se intenta minimizar la Pérdida de datos de entrenamiento y la Pérdida de datos de evaluación.
Si alguna vez descubres que la pérdida final de la evaluación es mucho mayor que la de entrenamiento, significa que tu modelo sobreajusta o memoriza tus datos de entrenamiento en vez de aprender relaciones generalizables.
Puedes ver cuántas ejecuciones de entrenamiento realiza el modelo haciendo clic en la pestaña ENTRENAMIENTO y seleccionando Tabla en la opción Ver como.
Durante nuestra ejecución en particular, el modelo completó 3 iteraciones de entrenamiento en aproximadamente 20 segundos. Es posible que tu modelo varíe.
Ve lo que aprendió el modelo sobre nuestros atributos
Después del entrenamiento, puedes inspeccionar los pesos para ver qué atributos le proporcionaron más valor al modelo.
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
Como puedes ver, si la clasificación de un equipo es muy baja (1, 2 o 3) o muy alta (14, 15 o 16), el modelo le proporciona un peso significativo (lo máximo es 1.0) para determinar el resultado de victorias y derrotas. De forma intuitiva, esto tiene sentido porque esperamos que los equipos con una clasificación muy baja tengan un buen rendimiento en el torneo.
El verdadero atractivo del aprendizaje automático es que no tuvimos que crear muchas instrucciones IF THEN
codificadas en SQL que le indicaran al modelo que, si la clasificación es 1, el equipo tiene un 80% más de probabilidades de ganar. El aprendizaje automático elimina las reglas codificadas y la lógica, y aprende esas relaciones por sí mismo. Si necesitas más detalles, consulta la documentación sobre la sintaxis de BQML en relación con los pesos.
Tarea 8: Evalúa el rendimiento del modelo
Para evaluar el rendimiento del modelo, puedes ejecutar el fragmento de código ML.EVALUATE
en un modelo entrenado.
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
El valor tendrá una exactitud de alrededor del 69%. Aunque es mejor que lanzar una moneda a la suerte, quedan aspectos por mejorar.
Tarea 9: Realiza predicciones
Ahora que entrenaste un modelo con datos históricos hasta la temporada del 2017 inclusive (todos los datos que tenías), es hora de realizar las predicciones para la temporada del 2018. Tu equipo de científicos de datos te proporcionó los resultados del torneo del 2018 en una tabla aparte que no tienes en tu conjunto de datos original.
Hacer predicciones es tan simple como llamar a ML.PREDICT
en un modelo entrenado y pasar el conjunto de datos sobre el que quieres realizar la predicción.
- Ejecuta el siguiente comando en el EDITOR de consultas:
Algunos segundos después, deberías obtener el siguiente resultado:
Haz clic en Revisar mi progreso para verificar el objetivo.
Ahora verás el conjunto de datos original, además de tres columnas nuevas:
- Etiqueta de predicción
- Opciones de etiqueta de predicción
- Probabilidad de etiqueta de predicción
Como ya conoces los resultados del March Madness 2018, veamos cómo le fue al modelo con las predicciones. Sugerencia: Si quieres predecir los resultados del March Madness 2019, simplemente pasa un conjunto de datos con las clasificaciones y los nombres de los equipos de ese año. Desde luego, la columna de etiquetas estará vacía, ya que esos partidos aún no se jugaron (eso es lo que va a predecir).
Tarea 10: ¿Cuántos aciertos tuvo nuestro modelo respecto del torneo de la NCAA del 2018?
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
De un total de 134 predicciones (67 partidos del torneo), nuestro modelo se equivocó 38 veces. Obtuvo un 70% total de aciertos en los partidos del torneo 2018.
Tarea 11: Los modelos solo tienen un alcance limitado
Hay muchos otros factores y atributos que influyen en las victorias estrechas y las derrotas increíbles de cualquier torneo March Madness que a un modelo le costaría mucho predecir.
Busquemos la mayor derrota del torneo 2017 según el modelo. Veremos dónde el modelo predice con una certeza de más del 80% y ERRA.
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
Después del partido, el entrenador Odom de la UMBC declaró: “Increíble. No hay nada más que decir”. Obtén más información sobre este tema en el artículo 2018 UMBC vs. Virginia men's basketball game.
Resumen
- Creaste un modelo de aprendizaje automático para predecir el resultado de los partidos.
- Evaluaste el rendimiento y lograste una exactitud del 69% con la clasificación y el nombre del equipo como atributos principales.
- Predijiste los resultados del torneo 2018.
- Analizaste los resultados para obtener estadísticas.
Nuestro próximo desafío será crear un modelo más eficaz SIN usar la clasificación ni el nombre del equipo como atributos.
Tarea 12: Usa atributos útiles de los modelos de AA
En la segunda parte de este lab, crearás un segundo modelo de AA con atributos detallados que se proporcionaron recientemente.
Ahora que ya sabes crear modelos de AA usando BigQuery ML, tu equipo de científicos de datos te proporcionó un nuevo conjunto de datos con información sobre cada jugada, en el que crearon métricas nuevas de equipos para que tu modelo las aprenda. Estos incluyen:
- Eficiencia en el tiempo para anotar según el análisis histórico jugada por jugada
- Posesión del balón en el transcurso del tiempo
Crea un conjunto de datos de AA nuevo con estos atributos útiles
- Ejecuta el siguiente comando en el EDITOR de consultas:
Algunos segundos después, deberías obtener el siguiente resultado:
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 13: Obtén una vista previa de los nuevos atributos
- Haz clic en el botón Ir a la tabla que se encuentra a la derecha de la consola. Luego, haz clic en la pestaña Vista previa.
Tu tabla debería ser similar a la siguiente:
No te preocupes si el resultado no es idéntico al de la captura de pantalla anterior.
Tarea 14: Interpreta las métricas seleccionadas
- Ahora conocerás algunas etiquetas importantes que nos ayudan a hacer predicciones.
opp_efficiency_rank
Clasificación de la eficiencia del rival: De todos los equipos, indica la clasificación que tiene nuestro rival para anotar de manera eficiente en el transcurso del tiempo (puntos por cada 100 posesiones del balón). Cuanto más baja, mejor.
opp_pace_rank
Clasificación de la velocidad del rival: De todos los equipos, indica la clasificación que tiene nuestro rival en cuanto a la posesión del balón (cantidad de posesiones en 40 minutos). Cuanto más baja, mejor.
Ahora que tienes atributos esclarecedores sobre lo bien que puede anotar y manejar el balón un equipo, entrenemos nuestro segundo modelo.
Como medida adicional para evitar que tu modelo “memorice los equipos buenos del pasado”, excluye el nombre del equipo y la clasificación de este próximo modelo y enfócate solo en las métricas.
Tarea 15: Entrena el nuevo modelo
- Ejecuta el siguiente comando en el EDITOR de consultas:
Algunos segundos después, deberías obtener un resultado similar al siguiente:
Tarea 16: Evalúa el rendimiento del nuevo modelo
- Para evaluar el rendimiento de tu modelo, ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
¡Bien! Acabas de entrenar un modelo nuevo con atributos diferentes y de aumentar su exactitud a aproximadamente un 75%, o un aumento del 5% en comparación con el modelo original.
Una de las lecciones más importantes del aprendizaje automático es que la calidad de los atributos de un conjunto de datos puede marcar una gran diferencia en la exactitud del modelo.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 17: Inspecciona lo que aprendió el modelo
- ¿Qué atributos pondera más el modelo en el resultado de una victoria o derrota? Descúbrelo ejecutando el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
Ordenamos los pesos según su valor absoluto para que aparezcan en primer lugar los más determinantes (para una victoria o una derrota).
Como puedes ver en los resultados, los 3 principales son pace_stat_diff
, eff_stat_diff
y eff_rating_diff
. Pasemos a explorarlos un poco más.
pace_stat_diff
Indica qué tan diferente fue, entre los equipos, la estadística real de posesiones en 40 minutos. Según el modelo, es el factor más determinante en el resultado del partido.
eff_stat_diff
Indica qué tan diferente fue, entre los equipos, la estadística real de puntos netos por cada 100 posesiones.
eff_rating_diff
Indica qué tan diferente fue, entre los equipos, la calificación normalizada de eficiencia para anotar.
La temporada es el último factor en la lista de pesos ordenados, por lo que tuvo poca influencia en las predicciones del modelo. Lo que indica el modelo es que la temporada (2013, 2014 y 2015) no es tan útil para predecir el resultado de los partidos. El 2014 no tuvo nada especial para ningún equipo.
Una estadística interesante es que el modelo valoró el ritmo del equipo (su capacidad para controlar el balón) por sobre la eficiencia para anotar.
Tarea 18: Momento de la predicción
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 19: Analiza las predicciones
Como conoces el resultado real del partido, puedes ver en qué parte el modelo hizo una predicción errónea con el nuevo conjunto de datos de prueba.
- Ejecuta el siguiente comando en el EDITOR de consultas:
Como puedes ver en la cantidad de registros que devolvió la consulta, el modelo erró en 48 enfrentamientos (24 partidos) de la cantidad total del torneo, con una exactitud del 64% para el 2018. Debió haber sido un año agitado. Veamos qué victorias inesperadas ocurrieron.
Tarea 20: ¿Cuáles fueron las victorias inesperadas que ocurrieron en marzo de 2018?
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
La victoria inesperada más importante fue la misma que descubrió nuestro modelo anterior: la del equipo de UMBC contra el de University of Virginia. Obtén más información sobre cómo, en general, el 2018 fue un año de grandes victorias inesperadas en el artículo Has This Been the “Maddest” March? ¿El 2019 fue igual de agitado?
Tarea 21: Compara el rendimiento de los modelos
¿Qué ocurre con los casos en los que el modelo básico (que compara clasificaciones) erró, pero el modelo avanzado acertó?
- Ejecuta el siguiente comando en el EDITOR de consultas:
El resultado debería ser similar al siguiente:
El modelo predijo que el equipo de Florida State University (09) vencería inesperadamente al de Xavier University (01), y así fue.
El modelo nuevo predijo correctamente la victoria inesperada (aunque la clasificación indicaba lo contrario) basándose en los nuevos atributos útiles, como el ritmo y la eficiencia para anotar. Mira los momentos destacados del partido en YouTube.
Tarea 22: Predice los resultados del March Madness 2019
Ahora que conocemos los equipos y las clasificaciones de marzo 2019, hagamos predicciones del resultado de los próximos partidos.
Explora los datos del 2019
- Ejecuta la siguiente consulta para ver las clasificaciones principales:
El resultado debería ser similar al siguiente:
Crea una matriz de todos los partidos posibles
No sabemos qué equipos se enfrentarán a medida que avance el torneo, así que haremos que todos compitan entre sí.
En SQL, una manera sencilla de hacer que un solo equipo se enfrente a todos los de la tabla es usar la instrucción CROSS JOIN.
- Ejecuta la siguiente consulta para obtener todos los partidos posibles del torneo:
Agrega las estadísticas de los equipos del 2018 (ritmo y eficiencia)
Haz predicciones
Haz clic en Revisar mi progreso para verificar el objetivo.
Obtén las predicciones
- Aquí filtramos los resultados del modelo para ver todos los partidos posibles del equipo de Duke University. Desplázate para ver el partido del equipo de Duke University contra el de North Dakota State University.
Estadística: El equipo de Duke University (1) tiene un 88.5% de probabilidades de derrotar al de North Dakota State University (16) el 22/3/19.
Cambia el filtro school_ncaa anterior para predecir los enfrentamientos en tu ronda. Escribe la puntuación de confianza del modelo y disfruta de los partidos.
¡Felicitaciones!
Usaste BigQuery ML para predecir los equipos ganadores del torneo de baloncesto masculino de la NCAA.
Próximos pasos y más información
- Si buscas más información sobre las métricas del baloncesto y su análisis, consulta los análisis adicionales del equipo de Google Cloud encargado de las predicciones y los anuncios del torneo de la NCAA.
- Consulta este lab:
Capacitación y certificación de Google Cloud
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.
Última actualización del manual: 19 de marzo de 2024
Prueba más reciente del lab: 19 de marzo de 2024
Copyright 2024 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.