Skip to content

blaijuarez/prophetia

Repository files navigation

ProphetIA

Descripción

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.

Estructura del Proyecto

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.

Prerrequisitos

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.

Instalación

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.txt

Nota: 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.

Configuración del servidor local

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:

  1. Instala las dependencias del servidor:
npm install
  1. Inicia el servidor:
npm run start

Uso

Para 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.

Uso común

  1. 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.
  1. 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.
  1. 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.py

Otros usos

Puedes 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.

Contribuciones

Las contribuciones son bienvenidas. Por favor, abre un Issue o Pull Request para discutir los cambios que te gustaría hacer en el proyecto.

About

Prophetia es un proyecto de inteligencia artificial que utiliza el algoritmo de aprendizaje automático RandomForest para predecir los resultados de los partidos de fútbol.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors