tdviii-proyecto-final
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 10 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (3.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: juanisil
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 226 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Cmo encontrar el mejor jugador para tu Equipo de Ftbol
Link al repo de GitHub: https://github.com/juanisil/TDVIII-proyecto-final
Integrantes
- Toms Glauberman - 21F78 | tglauberman@mail.utdt.edu
- Ignacio Pardo - 21R1160 | ipardo@mail.utdt.edu
- Juan Ignacio Silvestri - 21Q111 | jsilvestri@mail.utdt.edu
Descripcin
Cdigo fuente del proyecto final de la Licenciatura en Tecnologa Digital de la Universidad Torcuato Di Tella.
Estructura
El proyecto est dividido las siguientes carpetas principales:
-
src/: Cdigo en produccin del proyecto. Incluye un mdulo de Python con funciones y clases que se utilizan en el anlisis de datos. -
exploratory/: Notebooks de Jupyter y otros archivos de exploracin de datos. -
tests/: Archivos de tests unitarios y de integracin sobre el cdigo en la carpetasrc/. -
SampleData/: Datos de OPTA de la English Premier League 2012/2013. -
gui/: Interfaz grfica para la exploracin de la investigacin.
Source Code
src/event_processing.py: Procesamiento de eventos de partidos de futbol del Excelsrc/excel_xml_util.py: Modulo para trabajar con archivos XML de OPTA en Pandassrc/futbol_types.py: Definicin de tipos de datos para el anlisis de futbolsrc/match_data_extraction.py: Mdulo para extraer eventos y datos de los partidossrc/epl_player_data_utils.py: Datos extra de jugadores de la EPL por ID de OPTA.src/utils_CTMC.py: Funciones para calcular el modelo de transicin de estados de un equipo en un partido de futbol.src/bayesian_PSL.py: Clases para el anlisis bayesiano del PSL.src/Player2Vec.py: Player2Vec a partir de Node2Vec sobre Grafo Full de Transicin de Estados de Jugadoressrc/p2v_dist.py: Modelo Predictivo de Distribuciones de Ratios de Transicin
Usage of Player2Vec:
bash
python src/Player2Vec.py --model_path "player2vec.model" --output_path "player2vec.model" --dimensions 3 --walk_length 16 --num_walks 200 --p 1 --q 1 --workers 4 --window 12 --min_count 1 --batch_words 4 --epl_data_path "../SampleData/epl.xlsx" --players_path "../SampleData/players.json" --r_storage_path "R_storage.npy"
Algunos Notebooks
-
exploratory/emb_viz.ipynb: Visualizacin de embeddings de jugadores con Player2Vec. -
exploratory/dataset_exp.ipynb: Breve exploracin del dataset de OPTA. -
exploratory/p2v_dist_model_oos.ipynb: Modelo Predictivo de Distribuciones de Ratios de Transicin, con Validacin Out-of-Sample.src/p2v_dist.py. -
exploratory/OPTA_XML_Read.ipynb: Lectura de datos de OPTA en formato XML. -
exploratory/player_exp.ipynb: Exploracin de datos de jugadores. Clculo de Opta Points como ejemplo. -
exploratory/player_q_dist.ipynb: Anlisis de la distribucin de los ratios de transicin de jugadores. -
exploratory/psl_grad.ipynb: Test de Sensitividad de la funcin PSL. -
exploratory/PSL_StastsBomb.ipynb: Clculo de PSL con datos de StatsBomb. -
exploratory/PSL_sample_data.ipynb: Clculo de PSL con datos de OPTA. -
exploratory/case_study.ipynb: Caso de estudio de jugadores de la EPL (OPTA).
Usage
El proyecto requiere Python 3.10.14 y las dependencias listadas en
requirements.txt. En el archivo Makefile se encuentran los comandos
para instalar las dependencias, correr los tests y correr la interfaz
grfica de exploracin de la investigacin.
Para instalar las dependencias necesarias, ejecutar el siguiente comando:
bash
make install
Alternativamente se puede crear un entorno de Conda con las dependencias necesarias ejecutando el siguiente comando:
bash
make create_conda_env
Para correr los tests unitarios y de integracin, ejecutar el siguiente comando:
bash
make test
Para correr la interfaz grfica de exploracin de la investigacin, ejecutar el siguiente comando:
bash
make viz
Docs
La documentacin se encuentra en la carpeta docs/. Para generar la
documentacin, ejecutar el siguiente comando:
bash
make build_docs
Y para visualizar la documentacin, ejecutar el siguiente comando:
bash
make web_docs
Se puede hallar la documentacin en este link.
Referencias
Bawa, V. S. (1982). Stochastic dominance: A research bibliography. Management Science, 28, 698712. https://doi.org/10.1287/mnsc.28.6.698
Bergstra, J., Komer, B., Eliasmith, C., Yamins, D., & Cox, D. D. (2015). Hyperopt: A python library for model selection and hyperparameter optimization. Computational Science & Discovery, 8, 014008. https://doi.org/10.1088/1749-4699/8/1/014008
Brunetti, D., Ceria, S., Durn, G., Durn, M., Farall, A., Marucho, N., & Mislej, P. (2024). Data science models for football scouting: The racing de santander case study. 33rd European Conference on Operational Research. https://ic.fcen.uba.ar/uploads/files/Euro%202024%20-%20Data%20Science%20models%20for%20Football%20Scouting%20The%20Racing%20de%20Santander%20case%20study%20-%20REVISED.pdf
Chen, T., & Guestrin, C. (2016). XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD 16, 785794. https://doi.org/10.1145/2939672.2939785
Green, S. (2012). Assessing the performance of premier league goalscorers. Stats Perform. https://www.statsperform.com/resource/assessing-the-performance-of-premier-league-goalscorers/
Grover, A., & Leskovec, J. (2016). node2vec: Scalable feature learning for networks. arXiv.org. https://arxiv.org/abs/1607.00653
Huang, E., Segarra, S., Gallino, S., & Ribeiro, A. (n.d.). How to find the right player for your soccer team?
Kullback, S., & Leibler, R. A. (1951). On information and sufficiency. The Annals of Mathematical Statistics, 22, 7986. https://doi.org/10.1214/aoms/1177729694
Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv.org. https://arxiv.org/abs/1301.3781
Opta data from stats perform. (n.d.). Stats Perform. https://www.statsperform.com/opta/
PyTorch Forums, A. N. K. -. (2022). Jensen shannon divergence. PyTorch Forums. https://discuss.pytorch.org/t/jensen-shannon-divergence/2626/13
Rahimian, P., Van Haaren, J., & Toka, L. (2023). Towards maximizing expected possession outcome in soccer. International Journal of Sports Science & Coaching, 174795412311544. https://doi.org/10.1177/17479541231154494
Tippett, J. (2019). The expected goals philosophy: A game-changing way of analysing football. Independently Published.
Transfermarkt.com.ar. (2024a). Danny welbeck - evolucin del valor de mercado. Transfermarkt.com.ar. https://www.transfermarkt.com.ar/danny-welbeck/marktwertverlauf/spieler/67063
Transfermarkt.com.ar. (2024b). James milner - stats by club. Transfermarkt.com. https://www.transfermarkt.com/james-milner/leistungsdatenverein/spieler/3333
Vulcano, G. (n.d.). Decision under risk - module IV - NYU stern - master of science in business analytics.
Owner
- Name: Juan Silvestri
- Login: juanisil
- Kind: user
- Location: Ciudad Autónoma de Buenos Aires, Argentina
- Repositories: 1
- Profile: https://github.com/juanisil
GitHub Events
Total
- Watch event: 2
- Public event: 1
- Push event: 28
- Create event: 1
Last Year
- Watch event: 2
- Public event: 1
- Push event: 28
- Create event: 1
Dependencies
- appnope 0.1.4
- asttokens 2.4.1
- attrs 24.2.0
- bzip2 1.0.8
- ca-certificates 2024.8.30
- comm 0.2.2
- debugpy 1.8.5
- decorator 5.1.1
- exceptiongroup 1.2.2
- executing 2.0.1
- importlib-metadata 8.2.0
- importlib_metadata 8.2.0
- importlib_resources 6.4.5
- ipykernel 6.29.5
- ipython 8.26.0
- jedi 0.19.1
- jsonschema 4.23.0
- jsonschema-specifications 2023.12.1
- jupyter_client 8.6.2
- jupyter_core 5.7.2
- krb5 1.21.3
- libcxx 18.1.8
- libedit 3.1.20191231
- libffi 3.4.2
- libsodium 1.0.18
- libsqlite 3.46.0
- libzlib 1.3.1
- matplotlib-inline 0.1.7
- nbformat 5.10.4
- ncurses 6.5
- nest-asyncio 1.6.0
- openssl 3.3.2
- packaging 24.1
- parso 0.8.4
- pexpect 4.9.0
- pickleshare 0.7.5
- pip 24.2
- pkgutil-resolve-name 1.3.10
- platformdirs 4.2.2
- prompt-toolkit 3.0.47
- psutil 6.0.0
- ptyprocess 0.7.0
- pure_eval 0.2.3
- pygments 2.18.0
- python 3.10.14
- python-dateutil 2.9.0
- python-fastjsonschema 2.20.0
- python_abi 3.10
- pyzmq 26.1.0
- readline 8.2
- referencing 0.35.1
- rpds-py 0.20.0
- setuptools 72.1.0
- six 1.16.0
- stack_data 0.6.2
- tk 8.6.13
- tornado 6.4.1
- traitlets 5.14.3
- typing_extensions 4.12.2
- wcwidth 0.2.13
- wheel 0.44.0
- xz 5.2.6
- zeromq 4.3.5
- zipp 3.19.2
- 497 dependencies
- @types/eslint ^8.56.10 development
- @types/node ^20.14.10 development
- @types/react ^18.3.3 development
- @types/react-dom ^18.3.0 development
- @types/three ^0.169.0 development
- @typescript-eslint/eslint-plugin ^7.1.1 development
- @typescript-eslint/parser ^7.1.1 development
- eslint ^8.57.0 development
- eslint-config-next ^14.2.4 development
- postcss ^8.4.39 development
- prettier ^3.3.2 development
- prettier-plugin-tailwindcss ^0.6.5 development
- tailwindcss ^3.4.3 development
- typescript ^5.5.3 development
- @t3-oss/env-nextjs ^0.10.1
- class-variance-authority ^0.7.0
- colorthief ^2.6.0
- culori ^4.0.1
- geist ^1.3.0
- lucide-react ^0.454.0
- nanoid ^5.0.8
- next ^14.2.4
- radix-ui ^1.0.1
- react ^18.3.1
- react-dom ^18.3.1
- tailwind-merge ^2.5.4
- three ^0.169.0
- zod ^3.23.3
- altair ==5.4.1
- blinker ==1.8.2
- cachetools ==5.5.0
- cattrs ==23.2.3
- certifi ==2024.7.4
- chardet ==5.2.0
- charset-normalizer ==3.3.2
- click ==8.1.7
- cloudpickle ==3.1.0
- contourpy ==1.2.1
- cramjam ==2.8.3
- cycler ==0.12.1
- docker-pycreds ==0.4.0
- et-xmlfile ==1.1.0
- fastparquet ==2024.5.0
- filelock ==3.16.1
- fonttools ==4.53.1
- fsspec ==2024.9.0
- future ==1.0.0
- gensim ==4.3.3
- gitdb ==4.0.11
- gitpython ==3.1.43
- hyperopt ==0.2.7
- idna ==3.7
- imbalanced-learn ==0.12.4
- inflect ==7.3.1
- jinja2 ==3.1.4
- joblib ==1.4.2
- kiwisolver ==1.4.5
- lightning-utilities ==0.11.7
- lml ==0.1.0
- markdown-it-py ==3.0.0
- markupsafe ==2.1.5
- matplotlib *
- matplotlib ==3.9.1.post1
- mdurl ==0.1.2
- more-itertools ==10.4.0
- mplsoccer ==1.3.0
- mpmath ==1.3.0
- narwhals ==1.9.4
- networkx ==3.3
- node2vec ==0.5.0
- numpy *
- numpy ==1.26.4
- openpyxl *
- openpyxl ==3.1.5
- pandas *
- pandas ==2.2.2
- pillow ==10.4.0
- plotly ==5.24.1
- protobuf ==5.28.2
- py4j ==0.10.9.7
- pyarrow ==17.0.0
- pydeck ==0.9.1
- pydub ==0.25.1
- pyexcel ==0.7.0
- pyexcel-io ==0.6.6
- pyparsing ==3.1.2
- python-graphviz ==0.20.3
- pytz ==2024.1
- pyyaml ==6.0.2
- requests ==2.32.3
- requests-cache ==1.2.1
- rich ==13.9.2
- rvmath ==0.1
- scikit-learn *
- scikit-learn ==1.5.1
- scipy ==1.13.1
- seaborn *
- seaborn ==0.13.2
- sentry-sdk ==2.18.0
- setproctitle ==1.3.3
- smart-open ==7.0.5
- smmap ==5.0.1
- statsbombpy ==1.13.1
- streamlit ==1.39.0
- sympy ==1.13.3
- tabulate ==0.9.0
- tenacity ==9.0.0
- texttable ==1.7.0
- threadpoolctl ==3.5.0
- toml ==0.10.2
- torch ==2.2.2
- torchaudio ==2.2.2
- torchmetrics ==1.4.2
- torchview ==0.2.6
- torchvision ==0.17.2
- torchviz ==0.0.2
- tqdm ==4.66.5
- typeguard ==4.3.0
- tzdata ==2024.1
- url-normalize ==1.4.3
- urllib3 ==2.2.2
- wandb ==0.18.6
- watchdog ==5.0.3
- wrapt ==1.16.0
- xgboost ==2.1.1