Four things I have learned after using a neural network for 6 months

This time, after over 20 matchdays in the German Bundesliga, I don’t want to take a look at the predicted results. I used my Team Strength MLP now for about 6 months. During this time I analysed the predictions and tried to learn some more stuff about deep learning. So let’s summarize some lessons I have already learned and what could be improved for my model for the next season.

Continue reading “Four things I have learned after using a neural network for 6 months”

How To: Run TensorFlow in Exasol Community Edition

There is one big reason, why I have chosen Exasol as a database for my football analytics and predictions: Exasol is capable of executing Python and R code inside the database. Your are able to put your statistical calculations and predictive models to your data. The feature User Defined Functions (UDFs) provides the possibility to implement every logic which you normally code in Python or R. This is a really efficient way to extent plain SQL with some predictive functionality like the execution of TensorFlow models.

In this blog post I will explain, how you extend the Exasol community edition with all needed Python3 packages to execute Tensorflow models. Additionally with the latest update I also added the packages and description needed for all my web scrapping scripts.

Continue reading “How To: Run TensorFlow in Exasol Community Edition”

Team strength MLP (part 3)

Part one defined the basic architecture of the Team Strength MLP (multi layer perceptron). The training process and its monitoring via Tensorboard was explained in part two. Now it is time to take a look at the prediction of football matches. Primarily this consists of following steps:

  • Load the prediction data set
  • Re-build neural network architecture and load pre-trained weights
  • Execute prediction

The Bundesliga season 2017/18 will be the test case for this example. The season 2008 – 2016 were used to train the mode.

Continue reading “Team strength MLP (part 3)”

Team strength MLP (part 1)

It is time to build and test my first predictive model with Tensorflow! As I am currently totally unexperienced in creating and optimizing neural networks, I will start with a very simple one, which just uses the predictive variables of the Poisson model. By doing this, I will be able to compare the resulting network with the Poisson model. I am excited to see, whether Tensorflow is able to outperform this statistical model with such a low number of predictive variables. In this series I will provide some basic information, how you are able to build a simple multilayer perceptron (MLP) with Tensorflow, supervise the training process with Tensorboard and use the trained neural network to predict the outcomes of the matches.

Continue reading “Team strength MLP (part 1)”

BeatTheBookie goes Tensorflow

After gaining much experience over a complete season, it is time to set myself some new goals. Until now I just used or tested predictive models, which were invented or described by other people. Now I want to try something new. I would like to create my first own predictive model, which should of course provide a better performance as the current Poisson model. This is where Tensorflow comes into play.

Continue reading “BeatTheBookie goes Tensorflow”

How To: Install TensorFlow for Windows

I currently started to test machine learning algorithms to predict the results of football matches. I especially tried to use neural networks. But I soon realized, that the possibilities of R regarding neural networks are a little bit limited. So I want to take a look at TensorFlow. TensorFlow is a machine learning library provided by Google, which was already used for many different use-cases and proved its suitability.

As the installation process for TensorFlow was not self-explanatory, I thought, it would be a good idea to provide a small installation guide. I want to explain, how I installed TensorFlow and the Python GUI PyCharm.

Continue reading “How To: Install TensorFlow for Windows”