¿Puede Machine Learning predecir quién ganará las finales de la NBA? (Estoy más interesado en el cómo).

Los modelos de Machine Learning requieren mucho más que las estadísticas de los jugadores individuales para determinar el resultado de un juego. La conformidad de estos jugadores mientras juegan juntos como un equipo es un mapeo muy complejo que se modelará con nuestra comprensión actual.

También hay muchos hiperparámetros: considere un juego en el que un equipo lidera por 10 en el medio tiempo y pierde por 10 en el timbre final. Si la duración del juego no se ingresa al juego, el error es fatal.

Te daré una intuición final sobre esto. Las estadísticas son aburridas y la gente no verá las finales de la NBA si fue aburrido y no hubo sorpresa en el resultado (entropía cero). El hecho de que haya combacks, 20-0 carreras, zumbidos, golpes de embrague y jugadas apresuradas hace que los deportes sean lo suficientemente interesantes como para mirar y desafiar las estadísticas.

Sin embargo, te diré esto. Un amigo mío ha realizado un proyecto de ML para su curso de ML de pregrado que utilizó datos de equipo para predecir los resultados de los partidos de fútbol y definió su métrica de rendimiento como ganancia de apuestas en lugar de precisión y logró un + 42% de ganancia en el conjunto de datos de prueba. Este valor de ganancia es probablemente un agregado de muchos juegos de baja impar conocidos por la máquina, mientras que un bajo número de juegos se perdieron con altas probabilidades que borraron esas bajas acumulaciones impares. Es, en el mejor de los casos, un juego de azar semi educado.

Su modelo involucra árboles de decisión que usan el algoritmo C4.5 y post poda para evitar el sobreajuste. Luego, obtuvo resultados aún mejores con bosques aleatorios.

Editar: quería agregar una idea al proyecto de predicción del juego de fútbol. Los datos de fútbol son escasos en el sentido de que podría no haber puntaje en absoluto o, como máximo, 5-10 por juego y, en ausencia de datos, los modelos de máquina ponen más énfasis en los datos anteriores, es decir, se leen directamente de las estadísticas.

Creo que predecir los juegos de baloncesto es más fácil que predecir los juegos de fútbol debido a la abundancia de datos y al hecho de que a los estadounidenses les encantan sus estadísticas (¿Sabía que Stephen Curry es el tercer jugador que supera el número de asistencias de su padre en su séptimo año? cosas)

El mejor enfoque que conozco son las predicciones de la NBA de FiveThirtyEights. Es una combinación de ELO y “CARMELO”.

A ELO [1] no le importan las características o historias de los jugadores, el clima, la época del año o cualquier otra cosa que no sean puntos y qué equipo tenía ventaja en la cancha local. Es elegante y potente, y hace la mayor parte del trabajo en el modelo de FiveThirtyEight.

Pero no todo es ELO. La otra parte es CARMELO [2]. Eso es más interesante desde una perspectiva de aprendizaje automático.

  1. Para cada jugador tiene en cuenta (aproximadamente en orden de importancia): altura, peso, posición de tiro, tasa de uso, porcentaje de tiro real, porcentaje de tiro libre, frecuencia de 3 puntos, frecuencia de tiro libre, tasa de asistencia, tasa de rotación, tasa de rebote , tasa de bloqueo, tasa de robo y calificación defensiva más-menos.
  2. Todo eso se combina para identificar jugadores comparables (donde “comparable” se define en una escala continua).
  3. Luego, las trayectorias profesionales de jugadores comparables se combinan en un promedio ponderado, en función de su puntaje de comparabilidad.

Mi impresión es que el componente basado en el jugador tiene mucho menos peso que la predicción general de ELO.

Notas al pie

[1] Cómo calculamos las clasificaciones NBA Elo

[2] Estamos prediciendo la carrera de cada jugador de la NBA. Así es cómo.

Matt Harvey ganó el grupo de oficinas en USA Today al predecir Villanova para los campeonatos de la NCAA y escribió una publicación de blog sobre esto: cómo gané mi grupo de grupos de torneos de la NCAA utilizando el aprendizaje automático. También lanzó su código en github – harvitronix / kaggle-march-madness-2016. Puede encontrar algunas ideas que puede usar allí.

Ya sabía sobre el anterior (es por eso que comencé a responder), pero al intentar localizarlo, me encontré con otro proyecto que utiliza un modelo de aprendizaje profundo, podría ser interesante ver este también: dtarlow / Machine-March -Locura.

Machines Learning funciona mediante la construcción de modelos que capturan pesos y relaciones entre características de datos históricos y luego usan estos modelos para predecir resultados futuros. Por lo tanto, debe comprender los deportes y hacer su propia base de datos de los jugadores y sus registros y encontrar los algoritmos de acuerdo con su base. Selecciones gratis de la NBA