Giter Club home page Giter Club logo

onceideal's Introduction

Base de datos jugadores europeos 2008 – 2016

En este repositorio se estudiará la base de datos de jugadores europeos con el fin de crear un dataframe, en el cual se almacene los datos individuales de los jugadores. Durante la creación de este dataframe se buscó aquellas variables que fueran considerados relevantes para realizar una evaluación de los jugadores.

Python scrips

Dentro de la base de datos de jugadores europeos fue la tabla match la que contaba con la información mas relevante para esta investigación, dado que poseía los datos específicos de cada partido, como los resultados, y los participantes de acciones, como las conversiones de goles, remates, faltas y demás acciones.

Dada la importancia de la tabla Match fue creada la tabla MatchExtended, que agrega información de otras tablas. La información agregada a la tabla MatchExtended no fue considerada para la creación de la tabla individual de jugadores, pero sirvió para la exploración de los datos. Esta tabla es creada en el archivo sqlMatchNewVersion.py.

En el archivo XMLManagment.py fue creada la clase XmlMatches, que implementa métodos para procesar la información almacenada en formato xml, formato preponderante en la tabla MatchExtended, particularmente en datos referentes a acciones individuales. Al explorar el archivo se observarán gran número de métodos específicos, los cuales permiten extraer la información de las diferentes entidades de la tabla matches, que están almacenadas en el formato xml. Finalmente, esta información queda guardada en las propiedades de la clase.

En el archivo sqlPlayerPerMatch.py se encuentra la clase DataBase, la cual permite la extracción de información desde la base de datos, permitiendo la manipulación de la base de datos desde Python. El método mas destacado es select_match_extended, que permite la extracción de la información de un partido concreto, almacenando la información en las propiedades de la clase, e implementando los métodos de la clase XmlMatches para procesar la información que se encontraba almacenada en xml.

Es a partir de esta ultima clase que se inicia la creación de la tabla con los datos individuales por jugador. En el archivo inicialice_new_players.py se inicializa la tabla con los datos de los jugadores, agregando todos los jugadores a partir de su id, y teniendo como cero todos los valores de las celdas de la tabla.

Finalmente en el archivo dataPerPlayer.py se hace un loop que va agregando la información de cada partido a los diferentes jugadores. Los datos almacenados en xml fueron procesados como listas, actualizando los valores de cada uno de los jugadores según correspondía. Para los resultados de los partidos la información fue ingresada con la implementación de bloques condicionales.

¿Qué insights ves en la información detallada del partido?

En la información del partido se logra ver una gran cantidad de información interesante. Primero que nada, se ven datos referentes al partido, como lo son la fecha del encuentro, la temporada y el resultado del encuentro.

En segundo lugar, se ve información referente a los jugadores que participaron del partido, permitiendo tener los datos de id de cada jugador participante del encuentro.

En tercer lugar se puede ver información referente al contenido del partido, información que fue recopilada para tener un recuento de las acciones de cada jugador. Acciones como goles, disparos que fueron y no al arco, faltas cometidas, tarjetas recibidas, tiros de esquina y centros ejecutados.

Por ultimo se muestran datos de premios ofrecidos por casas de apuestas, siendo esta información no relevante para la pregunta de investigación.

¿Qué insights ves en el perfil por jugador? ¿Qué data crees que es relevante para elegir a los mejores jugadores?

Respecto a la primera pregunta fueron considerados las siguientes variables:

  • Resultados en partidos en los cuales participaron los jugadores (victoria, empate y derrota)
  • Goles
  • Remates al arco y remates desviados
  • Faltas cometidas
  • Tarjetas amarillas y rojas recibidas
  • Centros y tiros de esquina ejecutados

Respecto a la segunda pregunta considero que la información que pudo ser recopilada cuenta con varias limitantes. La principal falencia es que falta mucha información para determinar la incidencia de un jugador, considero fundamentales para resolver el problema datos como pases completados, duelos ganados, regates por partido, entradas y recuperaciones.

Con la información vigente existen medidas poco satisfactorias para extraer a los mejores jugadores, como la cantidad de victorias. Esta variable permitirá acercarnos bastante a buenos jugadores, pero mantendrá en el ostracismo jugadores de equipos menores que tienen un buen desempeño individual, siendo en su evaluación perjudicados a partir de los fracasos colectivos de su equipo. A su vez jugadores con un desempeño deficiente, inmersos en un equipo con buenos resultados, terminan siendo sobrevalorados.

A grandes rasgos la información proveída puede ser útil para seleccionar a los mejores finalizadores, midiendo el ratio de disparos y goles convertidos, mas no entrega información relevante para delanteros como lo es la velocidad, desbordes por partido, etcétera. Respecto a los mediocampistas y los defensas falta información relevante a sus funciones. En cuanto los porteros se podría medir la cantidad de goles recibidos respecto a los remates recibidos en el encuentro lo cual podría generar conclusiones acercadas a la realidad.

Alt text

onceideal's People

Contributors

joaquin-quiroz-gajardo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.