I was having fun with a few friends trying to see if a certain team would cover the spread that the sports books had set. Since my friends were mid-level players we assumed that our group would have a slight edge against national book makers. Since gambling isn't legal where we are located it was only to exercise our competitive nature.
What it does
Basketball Scout scrapes the internet for multiple seasons of data and passes that through a neural network. While selecting certain input values I compare what Basketball Scout predicts versus what actually happened.
How I built it
I started with writing some C# code to scrape the internet for the game results. This would allow me to train on actual data and saves me many months of time trying to manually enter this data. Once I had the data locally, I created a CSV file that would be easy for my Python notebook to consume. Once the data is consumed and cleaned I pass it through a neural network.
Challenges I ran into
The first challenge was how to collect the data. I decided that grabbing from the internet was the safest and best way. The second challenge was pre-processing the data to make sure my Teams CSV matched the names in the Games CSV. Next, I had to figure out an optimal network structure to get the most out of my data. Finally, I needed a way to clearly display the output so that I didn't need to run the network for each game.
Accomplishments that I'm proud of
Getting the system to "work" was big. Trying to solve an open problem without having a structure that comes with typical school work. I wasn't sure how I was going to do with the data I had knowing that at the end of the day I am trying to predict what a kid between 18 and 22 will do on a basketball court. Because I am slow, I didn't get this "ready" until the second round of the NCAA tournament. This is a TERRIBLE time to try and predict scores.
What I learned
This forced me to work on a real world application with real world results. It allowed me to dig into multiple parts of TensorFlow as well. Having to collect a lot of data for multiple years added some interesting twists. I had to dig into the network to figure out how it valued my 4 inputs.
What's next for Basketball Scout
The big stage is the 2019-2020 NCAA season. This is where I will see how it works with a complete set of new players and teams. I will attempt to run my NN each week and compare what I came up with versus what Las Vegas thinks versus the actual results.