machine-learning - programa - pagina para predecir resultados de futbol
Predicción de ganadores de partidos de fútbol basados solo en datos previos del mismo partido (3)
Soy un gran fanático del fútbol y también estoy interesado en el Aprendizaje automático. Como proyecto para mi curso ML, intento crear un modelo que prediga la posibilidad de ganar para el equipo local, dados los nombres del equipo local y visitante (consulto mi conjunto de datos y, en consecuencia, creo puntos de datos basados en partidos anteriores). entre esos 2 equipos)
Tengo datos de varias temporadas para todos los equipos, sin embargo, tengo los siguientes problemas con los que me gustaría obtener algunos consejos. El EPL (Liga Premier Inglesa) tiene 20 equipos que juegan entre sí en casa y fuera (380 juegos en total en una temporada). Por lo tanto, cada temporada, cualquier 2 equipos juegan entre sí solo dos veces.
Tengo datos de los últimos 10 años, lo que resulta en 2 * 10 = 20 puntos de datos para los dos equipos. Sin embargo, no quiero pasar de los últimos 3 años, ya que creo que los equipos cambian considerablemente con el tiempo (ManCity, Liverpool) y esto solo introduciría más errores en el sistema.
Esto da como resultado entre 6 y 8 puntos de datos para cada par de equipos. Sin embargo, tengo varias funciones (hasta 20+) para cada punto de datos como objetivos a tiempo completo, metas a medio tiempo, pases, tiros, amarillos, rojos, etc. para ambos equipos, así puedo incluir características como formulario reciente, hogar reciente formulario, formulario reciente, etc.
Sin embargo, la idea de tener solo 6-8 puntos de datos para entrenar me parece incorrecta. ¿Alguna idea sobre cómo podría contrarrestar este problema? (Si esto es un problema en primer lugar, es decir)
¡Gracias!
EDITAR: FWIW, aquí hay un enlace a mi informe que compilé al finalizar mi proyecto. https://www.dropbox.com/s/ec4a66ytfkbsncz/report.pdf . No es algo ''genial'', pero creo que algunas de las observaciones que logré sacar fueron bastante geniales (como que mi predicción funcionó muy bien para la Bundesliga porque el Bayern gana la liga todo el tiempo).
Ese es un problema interesante que no creo que tenga una solución única. Sin embargo, hay un par de cosas pequeñas que podría probar si estuviera en su posición.
Comparto tu preocupación acerca de 6-8 puntos por clase, ya que hay muy pocos datos para construir un modelo confiable. Entonces trataría de modelar el problema de forma un poco diferente. Para tener más datos para cada clase, en lugar de tener 20 clases, solo tendría dos (local / visitante) y agregaría dos funciones, una para el equipo en casa y otra para el equipo visitante. En esa configuración, aún puede predecir qué equipo ganaría si se juega como local o visitante, y su problema tiene más datos para producir un resultado.
Otra idea sería tomar datos de otras ligas europeas. Dado que ahora los equipos son una función y no una clase, no debería sumar demasiado ruido a su modelo y podría beneficiarse de los datos adicionales (suponiendo que esas características sean válidas en otras ligas).
Tengo un sistema similar: una buena base para los datos fuente es football-data.co.uk. He usado las últimas N temporadas para cada liga y he construido un modelo (créanme, ¡más de 3 años son obligatorios!). Depende de su función de criterio: si el criterio es el más adecuado o el beneficio máximo, puede construir su propio modelo de predicción.
Una cosa muy buena de saber es que cada liga es diferente, también la casa de apuestas da diferentes probabilidades de ganar en casa en Bélgica que en la 5ª Liga inglesa, donde puedes encontrar probabilidades realmente valiosas, por ejemplo.
De ahí puedes compilar un modelo interesante, como consejos de apuestas para vencer a los corredores de apuestas en partidas específicas, usar tu patrón y tener apuestas de valor. O puede tratar de perseguir tantos consejos ganadores como sea posible, pero posiblemente gane menos (los sorteos ganan mucho dinero a pesar de que gana menos cantidad de sorteos).
Espero haberles dado algunas ideas, para más no dude en preguntar.
No sé si esto sigue siendo útil, pero las funciones como objetivos a tiempo completo, metas a medio tiempo, pases, tiros, amarillos, rojos, etc. son características que no tiene para la nueva coincidencia que desea clasificar.
Trataría esto como un problema de clasificación (quiere clasificar la coincidencia en una de las 3 categorías: 1, X o 2) y agregará más características que también puede aplicar a la nueva coincidencia. es decir: el número de jugadores perdidos (debido a lesiones / tarjetas rojas), el número de victorias / empates / derrotas que cada equipo ha tenido en fila inmediatamente ANTES del partido, que es el equipo de casa (ya mencionado), los goles marcados en el últimos partidos en casa y fuera, etc ...
Tener 6-8 partidos es el problema real. Este conjunto de datos es muy pequeño y habría demasiados ajustes, pero si usa funciones como las que mencioné, creo que también podría usar datos más antiguos.