ProphetIA es una aplicación basada en inteligencia artificial que utiliza el algoritmo de aprendizaje automático RandomForest para predecir los resultados de los partidos de fútbol. La aplicación se basa en un flujo de trabajo que comprende la recopilación de datos, el procesamiento de estos y finalmente, la construcción y la predicción utilizando el modelo.
El proyecto consta de varios componentes, principalmente organizados en tres módulos:
api: Este módulo se encarga de la recopilación de datos.scripts: Este módulo realiza el procesamiento de datos.models: Este módulo es responsable de la construcción del modelo de aprendizaje automático y de realizar las predicciones.
La ejecución principal del proyecto se lleva a cabo en el archivo init.py, que se encuentra en la raíz del proyecto. Este script invoca los métodos de los módulos mencionados anteriormente.
Este proyecto requiere que tengas instalado Python en tu sistema. Si aún no lo tienes, puedes descargarlo e instalarlo desde la página oficial de Python.
También se necesita tener Node.js instalado para funcionar correctamente. Asegúrate de tenerlo instalado en tu sistema. Si no tienes Node.js instalado, puedes descargarlo y seguir las instrucciones de instalación desde la página oficial de Node.js.
Para instalar las dependencias necesarias para ejecutar ProphetIA, puedes usar el archivo requirements.txt proporcionado en el proyecto. Para instalar las dependencias, ejecuta el siguiente comando:
pip install -r requirements.txtNota: Si te encuentras con problemas de permisos durante la instalación, puedes añadir el flag --user a la orden de instalación. Este flag realiza la instalación a nivel del usuario actual, lo cual puede evitar problemas si no dispones de privilegios de administrador.
ProphetIA utiliza un servidor local para obtener los datos necesarios. Este servidor está basado en Express.js y se encuentra en la carpeta .server.
Para configurar y arrancar el servidor, sigue los siguientes pasos:
- Instala las dependencias del servidor:
npm install- Inicia el servidor:
npm run startPara ejecutar la aplicación ProphetIA, ejecuta el archivo init.py en la raíz del proyecto. Este script también acepta argumentos de línea de comandos para personalizar la ejecución.
- Guardar jornada. Asegurarse de elegir la jornada actual que acaba de terminar en el archivo .env. Levantar el server usando el comando npm start y, una vez levantado, ejecutar:
python3 init.py --record- Esto hará un fetch de los datos de la liga, el rendmiento y los resultados.
- Ejecutará todos los scripts de process y guardará un registro acumulativo en: record/partido_n.csv.
- Entrenar modelo. Mantener la jornada del paso anterior. No es necesario tener levantado el server puesto que este modo no hace fetch. Y ejecutar:
python3 init.py --train- Esto ejecutará el último paso de los scripts de process: final_process.py.
- Este script cogerá todos los registros guardados en el directorio 'record' y los unirá en uno solo.
- Luego, ejecutará los scripts de models en modo train.
- Predecir partidos. Cambiar la jornada en el .env por la que se quiera predecir. Levantar el server con el comando npm start. Y ejecutar:
python3 init.pyPuedes ejecutar la palicación con flags complementarios:
-
--skip-fetch: Esto hará que se evite el paso de llamar al API. -
--skip-process: Esto hará que se salte todos los script de process. -
--skip-all: Al incluir este argumento, el script evita la fase de recopilación y procesamiento de datos. Esto es útil cuando ya dispones de datos previamente procesados y tu objetivo es únicamente grabar, entrenar o realizar predicciones sin alterar los datos existentes.
NOTA Recuerda que tienes que tener el servidor local levantado si quieres descargar las estadísticas de los equipos.
Para una experiencia óptima y aprovechar al máximo las funcionalidades de ProphetIA, te recomendamos encarecidamente que consultes nuestra Guía de Uso Detallada.
Las contribuciones son bienvenidas. Por favor, abre un Issue o Pull Request para discutir los cambios que te gustaría hacer en el proyecto.