Soccer Matches Results Prediction Using Multi Layer...

17
Soccer Matches Results Prediction Using Multi-Layer Perceptron ECE 539 Introduction to Artificial Neural Networks and Fuzzy Systems University of Wisconsin Madison Author: Henrique Parreiras Couto

Transcript of Soccer Matches Results Prediction Using Multi Layer...

Page 1: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Soccer Matches Results Prediction Using Multi-Layer Perceptron

ECE 539 – Introduction to Artificial Neural Networks and Fuzzy Systems

University of Wisconsin – Madison

Author: Henrique Parreiras Couto

Page 2: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Introduction

Soccer is one of the most popular sports in the world. The modern soccer was

created in England on the 19th

century, and since then it has grown largely and spread

worldwide. Today, in some countries like Brazil, England, Spain, Germany and many

others, soccer is part of the culture and life of the people. Despite that, soccer popularity is

still growing and getting to countries that had no tradition in the sport like the United

States, China, Qatar (which will host the 2022 FIFA world cup), among others. Because of

that, in the last decades soccer has become a large industry, with teams that withhold

billions of dollars among trademarks, player passes and stadiums.

The popularity of soccer can be explained by a lot of different reasons, but one

factor that makes it so exciting to watch is the great unpredictability of the results. It is not

uncommon for a team that is considered less qualified than its opponent to win the match.

For the same reason, it is very difficult to anticipate the winner of a soccer game.

Although there are some works and websites that, using statistical methods, can predict the

winner of a match with good accuracy, I have not found any that tries to predict the actual

score of a game. Because of that, I came with the idea to this project.

The goal of this work is try to predict the scores of the 2013 Brazilian

Championship, also known as “Brasileirão” using a Multi-Layer Perceptron.

Page 3: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Motivation

In this project, I will attempt to develop a Multi-layer perceptron to predict the final

score of any match of the 1st division of the Brazilian soccer league. The goal of using a

neural network to do this prediction is to eliminate the human variable of the process,

making it impersonal and, thus, more accurate.

Data

History

The Brazilian soccer championship (Brasileirão) had its first official edition held in

1971. Since then, the competition has changed in many ways, including the number of

teams and format.

The most recent change occurred in 2003, when the competition format was

changed from a knockout system to the double robin-round system, in which each team

play against each other twice. After 2003, some adjustments were made to the

championship and the number of teams dropped from 24 to 20.

Because of that, the championships that occurred before 2003 were disregarded and

the data gathered relies only on the results of the past 10 championships.

Collecting the data

There isn’t any official record of the results for the Brazilian championship and,

because of that, the data had to be collected from different websites on the internet. To

do this, I used a Python program developed by Alberto Trindade Tavares. This program

generates a text file for each of the 20 teams that are currently on the first division on

the Brasileirão, containing all the games that the team has played since 2003, whether

the game was played at home or away, and the score.

Beyond that, a public study about the market value of all Brazilian teams was also

used. After this work was finished, another study was published, updating the market

value of the teams. Both of them are attached to this report, but for the final results that

are shown here, only the first one was used. However, I ran some tests with the new

data and no significant improvement was achieved.

Page 4: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Feature vectors

The features analyzed were:

1. The number of games played on the first division since 2003

2. Number of victories at home and away

3. Average number of goals scored at home and away

4. The market value of the team

These attributes were chosen because I considered them to be the most impartial

features that I could extract from the data that I had. Since there are some teams that have

played only two or three championships since 2003, it was hard to choose a feature that

could be compared between all teams. However, the number of games played in first

division is also a good feature to determine which team is better, since the strongest teams

usually aren’t relegated to the second division and, thus, have a greater number of games on

the first division.

The market value is also a useful feature to determine the quality of a team. Since

good players are highly valuable, teams with greater market values are usually better.

Although it is common for teams to have good players that don’t have great market value

either because they are near retirement or are still too young, a greater market value is

usually a sign that the team has more money and, thus, has better training facilities, better

preparation for the athletes, medical department and other important features that are

difficult to measure and put in a Multi-Layer perceptron.

Each feature vector contains 8 features and 5 labels, giving a total of 13 positions.

The first 4 features are about the home team and the next 4 about the visiting team. An

example of feature vector is as follows:

# Games Played on 1st

division

# Victories at home

Average number of goals

scored at home

Team value

(millions of euros)

# Games Played on

1st division

# Victories

away

Average number of goals scored away

Team value (millions of

euros) Labels

Home Team Away Team

Page 5: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Experiment

For this project, the model that I will use is a Multi-Layer Perceptron (MLP) with 8

inputs, 5 outputs and 2 hidden layers with 50 neurons each. In all neurons, a sigmoidal

activation function was used. The value of alpha used was 0.1 and the momentum was 0.9.

The training data for this project consists of the results of all the games of the

Brazilian championship of 2012 (total of 380 feature vectors) and the testing set used was

the 2013 championship.

The prediction of the result consists in two phases. In the first phase, the MLP is

applied to predict the difference between the number of goals scored by the teams. The

output labels correspond to this difference as follows:

[1 0 0 0 0] – The home team suffered a large loss. In other words, the home team

lost by a difference of 3 or more goals.

[0 1 0 0 0] – The home team suffered a small loss, which means a loss by a

difference of 1 or 2 goals.

[0 0 1 0 0] – There was a tie.

[0 0 0 1 0] – The home team had a small victory, which means a victory by a

difference of 1 or 2 goals.

[0 0 0 0 1] – The home team had a large victory, which means a victory by a

difference of 3 goals or more.

In the second phase, a MATLAB program is used to calculate the score, based on

the average number of goals scored by both teams. The calculation consists in finding

the result that will minimize the distance between the predicted score and the average

number of goals scored by each team. Thus:

Where Y0 corresponds to the average number of goals scored at home by the home

team, X0 correspond to the average number of goals scored away by the visiting team, z

is the difference predicted by the MLP, x and y are the predicted score.

X0 Y0 x y

z

Page 6: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

The quadratic distance between x and X0 and between y and Y0 can be calculated

as:

( )

( )

The total quadratic distance is calculated as:

( ) ( )

Since :

( ) ( )

Deriving D as a function of y:

( ) ( )

By making the derivative equal to zero, we have the value of y that gives the

minimum quadratic distance between the predicted score and the average number of

goals of each team. Then:

The number of goals scored by the visiting team can then be calculated as:

Where if the predicted result is a victory of the home team, and if the

predicted result is a defeat of the home team.

Page 7: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Results

Based on the proposed model, I ran tests to predict all of the games from the 2013

championship. The results for the second round of the championship are as follows:

Home Team Away Team Actual Score Predicted Score

Botafogo Santos 2 1 2 1

Atletico-PR Cruzeiro 2 2 2 1

Flamengo Ponte Preta 0 2 2 1

Bahia Coritiba 0 0 3 2

Náutico Vitória 0 3 3 2

São Paulo Vasco 5 1 2 1

Goiás Corinthians 1 1 2 1

Internacional Criciúma 2 0 2 1

Atlético-MG Grêmio 2 0 2 1

Portuguesa Fluminense 2 1 2 1

As can be seen from the table, the accuracy is not very good. For the 10 matches, it

predicted correctly only 2. In fact, for all the 380 matches of the training set, only

11.32% were correct. This can be explained by the high unpredictability of a soccer

match. There are many more factors involved, and most of them cannot be put into a

MLP.

However, if we consider only the prediction for the difference of goals, we have

accuracy of 28.68%, which is a little better, but still far from the ideal. Considering only

the output from the MLP, and classifying the result according to large losses, small

losses, ties, small victories and large victories, the accuracy goes up to about 40%. And

finally, considering only the result (Victory/Tie/Loss), the classification rate is 48.16%.

The complete table with all the results is attached at the end of this report.

These results show that although the prediction about which team will win is

correct, the number of goals scored cannot be predicted accurately, because there are

many factors that can influence the result.

Page 8: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Other work

In all the researches that I have made, I was not able to find another work that tried

to predict the score of the games of the Brazilian soccer championship. Thus, I have no

references to compare to the results that I obtained in this work.

Conclusion

As can be seen from the results above, I could not achieve the expected results using

a Multi-Layer Perceptron. Although the classification rate was reasonable when we do not

consider the number of goals, the actual score could not be predicted.

This is caused by the random nature of a soccer match. There are many intangible

factors that can influence the final result like important players that are out of a match,

referee decisions, number of people present on the stadium (helps to motivate the home

team), and many others. Most of these factors cannot be measured and put into a MLP, and

because of that, the prediction using a Multi-Layer Perceptron is compromised and cannot

be very accurate.

References

Data extraction websites:

www.campeoesdofutebol.com.br

http://www.bolanaarea.com/gal_brasileirao.htm

Studies about team values:

2013/1:

http://www.pluriconsultoria.com.br/relatorio.php?segmento=sport&id=263

2013/2:

http://www.pluriconsultoria.com.br/relatorio.php?segmento=sport&id=350

Page 9: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Complete Results

Home Team Away Team Actual Score Predicted Score Right/Wrong Difference V/T/L

Vasco Portuguesa 1 0 2 1 0 1 1

Vitoria Internacional 2 2 1 0 0 0 0

Corinthians Botafogo 1 1 2 1 0 0 0

Gremio Nautico 2 0 2 1 0 0 1

Ponte_Preta Sao_Paulo 0 2 1 0 0 0 0

Criciuma Bahia 3 1 2 1 0 0 1

Fluminense Atletico-PR 2 1 2 1 1 1 1

Santos Flamengo 0 0 2 1 0 0 0

Cruzeiro Goias 5 0 2 1 0 0 1

Coritiba Atletico-MG 2 1 1 0 0 1 1

Botafogo Santos 2 1 2 1 1 1 1

Atletico-PR Cruzeiro 2 2 2 1 0 0 0

Flamengo Ponte_Preta 0 2 2 1 0 0 0

Bahia Coritiba 0 0 3 2 0 0 0

Nautico Vitoria 0 3 3 2 0 0 0

Sao_Paulo Vasco 5 1 2 1 0 0 1

Goias Corinthians 1 1 2 1 0 0 0

Internacional Criciuma 2 0 2 1 0 0 1

Atletico-MG Gremio 2 0 2 1 0 0 1

Portuguesa Fluminense 2 1 2 1 1 1 1

Botafogo Cruzeiro 2 1 2 1 1 1 1

Atletico-PR Flamengo 2 2 2 1 0 0 0

Corinthians Ponte_Preta 1 0 2 1 0 1 1

Vitoria Vasco 2 0 1 0 0 0 1

Goias Coritiba 1 1 2 1 0 0 0

Santos Gremio 1 1 2 1 0 0 0

Atletico-MG Sao_Paulo 0 0 2 1 0 0 0

Fluminense Criciuma 3 0 2 1 0 0 1

Internacional Bahia 1 2 2 1 0 0 0

Nautico Portuguesa 2 2 2 2 1 1 1

Criciuma Santos 3 1 2 1 0 0 1

Portuguesa Internacional 1 1 2 1 0 0 0

Vasco Atletico-MG 2 0 2 1 0 0 1

Bahia Botafogo 2 1 3 2 0 1 1

Ponte_Preta Atletico-PR 3 4 0 0 0 0 0

Flamengo Nautico 0 1 2 1 0 0 0

Cruzeiro Corinthians 1 0 2 1 0 1 1

Sao_Paulo Goias 0 1 2 1 0 0 0

Gremio Vitoria 1 0 2 1 0 1 1

Coritiba Fluminense 2 1 1 0 0 1 1

Page 10: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Criciuma Flamengo 0 3 2 1 0 0 0

Cruzeiro Internacional 2 2 2 1 0 0 0

Vasco Bahia 1 1 2 1 0 0 0

Corinthians Portuguesa 0 0 2 1 0 0 0

Ponte_Preta Botafogo 0 2 0 0 0 0 0

Fluminense Goias 2 1 2 1 1 1 1

Vitoria Atletico-PR 3 2 1 0 0 1 1

Coritiba Nautico 1 0 1 0 1 1 1

Santos Atletico-MG 1 0 2 1 0 1 1

Gremio Sao_Paulo 1 1 2 1 0 0 0

Nautico Ponte_Preta 1 3 3 2 0 0 0

Atletico-PR Gremio 1 1 2 1 0 0 0

Flamengo Coritiba 2 2 2 1 0 0 0

Portuguesa Cruzeiro 1 1 2 1 0 0 0

Atletico-MG Criciuma 3 2 2 1 0 1 1

Sao_Paulo Santos 0 2 2 1 0 0 0

Bahia Corinthians 0 2 3 2 0 0 0

Internacional Vasco 5 3 2 1 0 0 1

Goias Vitoria 1 0 2 1 0 1 1

Botafogo Fluminense 1 0 2 1 0 1 1

Fluminense Internacional 2 3 2 1 0 0 0

Santos Portuguesa 4 1 2 1 0 0 1

Ponte_Preta Bahia 0 0 1 0 0 0 0

Corinthians Atletico-MG 0 1 2 1 0 0 0

Vitoria Sao_Paulo 3 2 1 0 0 1 1

Gremio Botafogo 2 1 2 1 1 1 1

Coritiba Atletico-PR 1 0 1 0 1 1 1

Vasco Flamengo 0 1 2 1 0 0 0

Criciuma Goias 0 0 2 1 0 0 0

Cruzeiro Nautico 3 0 2 1 0 0 1

Sao_Paulo Cruzeiro 0 3 2 1 0 0 0

Criciuma Gremio 2 1 2 1 1 1 1

Botafogo Nautico 2 0 2 1 0 0 1

Vitoria Bahia 0 0 1 0 0 0 0

Internacional Flamengo 1 0 2 1 0 1 1

Atletico-PR Corinthians 1 1 2 1 0 0 0

Santos Coritiba 2 2 2 1 0 0 0

Fluminense Vasco 1 3 2 1 0 0 0

Goias Portuguesa 2 1 2 1 1 1 1

Atletico-MG Ponte_Preta 4 0 2 1 0 0 1

Vasco Criciuma 3 2 2 1 0 1 1

Ponte_Preta Santos 1 0 1 0 1 1 1

Portuguesa Atletico-PR 2 3 2 1 0 0 0

Corinthians Sao_Paulo 0 0 2 1 0 0 0

Gremio Fluminense 2 0 2 1 0 0 1

Page 11: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Nautico Internacional 3 0 3 2 0 0 1

Cruzeiro Atletico-MG 4 1 2 1 0 0 1

Flamengo Botafogo 1 1 2 1 0 0 0

Bahia Goias 2 1 3 2 0 1 1

Coritiba Vitoria 1 1 1 0 0 0 0

Fluminense Cruzeiro 1 0 2 1 0 1 1

Atletico-MG Atletico-PR 1 2 2 1 0 0 0

Corinthians Gremio 2 0 2 1 0 0 1

Coritiba Ponte_Preta 5 3 1 0 0 0 1

Portuguesa Criciuma 1 1 2 1 0 0 0

Bahia Flamengo 3 0 2 3 0 0 0

Botafogo Vitoria 2 0 2 1 0 0 1

Goias Vasco 1 1 2 1 0 0 0

Nautico Sao_Paulo 0 1 2 3 0 1 1

Internacional Santos 1 2 2 1 0 0 0

Sao_Paulo Bahia 1 2 2 1 0 0 0

Cruzeiro Coritiba 1 0 2 1 0 1 1

Vasco Botafogo 2 3 2 1 0 0 0

Flamengo Atletico-MG 3 0 2 1 0 0 1

Vitoria Portuguesa 2 1 1 0 0 1 1

Gremio Internacional 1 1 2 1 0 0 0

Ponte_Preta Fluminense 1 1 1 0 0 0 0

Criciuma Corinthians 0 2 2 1 0 0 0

Atletico-PR Goias 2 0 2 1 0 0 1

Santos Nautico 1 1 2 1 0 0 0

Sao_Paulo Internacional 0 1 2 1 0 0 0

Flamengo Portuguesa 1 1 2 1 0 0 0

Vitoria Fluminense 1 1 1 0 0 0 0

Goias Nautico 2 1 2 1 1 1 1

Criciuma Cruzeiro 1 2 2 1 0 0 0

Atletico-MG Botafogo 2 2 2 1 0 0 0

Atletico-PR Bahia 1 0 2 1 0 1 1

Santos Corinthians 1 1 2 1 0 0 0

Gremio Coritiba 0 1 2 1 0 0 0

Vasco Ponte_Preta 1 1 2 1 0 0 0

Botafogo Goias 1 1 2 1 0 0 0

Nautico Atletico-MG 0 0 3 2 0 0 0

Fluminense Flamengo 2 3 2 1 0 0 0

Corinthians Vitoria 2 0 2 1 0 0 1

Bahia Gremio 0 3 3 2 0 0 0

Internacional Atletico-PR 2 2 2 1 0 0 0

Ponte_Preta Criciuma 3 1 1 0 0 0 1

Cruzeiro Santos 0 0 2 1 0 0 0

Coritiba Vasco 0 1 1 0 0 0 0

Portuguesa Sao_Paulo 2 1 2 1 1 1 1

Page 12: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Fluminense Corinthians 0 0 2 1 0 0 0

Vitoria Ponte_Preta 3 1 1 0 0 0 1

Gremio Cruzeiro 3 1 2 1 0 0 1

Goias Flamengo 1 1 2 1 0 0 0

Criciuma Nautico 3 0 2 1 0 0 1

Atletico-MG Bahia 2 0 2 1 0 0 1

Coritiba Portuguesa 1 1 1 0 0 0 0

Santos Vasco 1 1 2 1 0 0 0

Sao_Paulo Atletico-PR 1 1 2 1 0 0 0

Botafogo Internacional 3 3 2 1 0 0 0

Vasco Gremio 2 3 2 1 0 0 0

Nautico Fluminense 0 1 3 2 0 0 0

Cruzeiro Vitoria 5 1 2 1 0 0 1

Flamengo Sao_Paulo 0 0 2 1 0 0 0

Corinthians Coritiba 1 0 2 1 0 1 1

Portuguesa Botafogo 1 3 2 1 0 0 0

Ponte_Preta Goias 0 1 0 0 0 0 0

Bahia Santos 0 0 3 2 0 0 0

Internacional Atletico-MG 0 0 2 1 0 0 0

Atletico-PR Criciuma 2 1 2 1 1 1 1

Ponte_Preta Cruzeiro 0 2 1 0 0 0 0

Criciuma Coritiba 2 1 2 1 1 1 1

Santos Vitoria 2 0 2 1 0 0 1

Flamengo Gremio 0 1 2 1 0 0 0

Sao_Paulo Fluminense 2 1 2 1 1 1 1

Bahia Nautico 2 0 3 2 0 0 1

Internacional Goias 3 3 2 1 0 0 0

Vasco Corinthians 1 1 2 1 0 0 0

Atletico-MG Portuguesa 2 1 2 1 1 1 1

Atletico-PR Botafogo 2 0 2 1 0 0 1

Gremio Ponte_Preta 1 0 2 1 0 1 1

Goias Atletico-MG 0 0 2 1 0 0 0

Nautico Atletico-PR 1 4 3 2 0 0 0

Portuguesa Bahia 4 2 2 1 0 0 1

Fluminense Santos 0 2 2 1 0 0 0

Botafogo Sao_Paulo 0 0 2 1 0 0 0

Corinthians Flamengo 4 0 2 1 0 0 1

Vitoria Criciuma 0 1 1 0 0 0 0

Cruzeiro Vasco 5 3 2 1 0 0 1

Coritiba Internacional 0 0 1 0 0 0 0

Goias Gremio 2 0 2 1 0 0 1

Flamengo Vitoria 2 1 2 1 1 1 1

Atletico-PR Santos 2 1 2 1 1 1 1

Portuguesa Ponte_Preta 2 1 2 1 1 1 1

Bahia Cruzeiro 1 3 2 3 0 0 1

Page 13: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Internacional Corinthians 1 0 2 1 0 1 1

Atletico-MG Fluminense 2 2 2 1 0 0 0

Botafogo Coritiba 3 1 2 1 0 0 1

Sao_Paulo Criciuma 1 2 2 1 0 0 0

Nautico Vasco 0 3 3 2 0 0 0

Ponte_Preta Internacional 1 3 1 0 0 0 0

Fluminense Bahia 1 0 2 1 0 1 1

Vitoria Atletico-MG 1 1 1 0 0 0 0

Santos Goias 1 0 2 1 0 1 1

Gremio Portuguesa 3 2 2 1 0 1 1

Corinthians Nautico 0 0 2 1 0 0 0

Cruzeiro Flamengo 1 0 2 1 0 1 1

Coritiba Sao_Paulo 2 0 1 0 0 0 1

Vasco Atletico-PR 0 0 2 1 0 0 0

Criciuma Botafogo 1 2 2 1 0 0 0

Portuguesa Vasco 2 0 2 1 0 0 1

Atletico-PR Fluminense 1 1 2 1 0 0 0

Botafogo Corinthians 1 0 2 1 0 1 1

Bahia Criciuma 2 2 2 2 1 1 1

Nautico Gremio 0 2 3 2 0 0 0

Goias Cruzeiro 1 2 2 1 0 0 0

Internacional Vitoria 2 2 2 1 0 0 0

Sao_Paulo Ponte_Preta 1 0 2 1 0 1 1

Atletico-MG Coritiba 3 0 2 1 0 0 1

Flamengo Santos 2 1 2 1 1 1 1

Cruzeiro Atletico-PR 1 0 2 1 0 1 1

Fluminense Portuguesa 2 1 2 1 1 1 1

Ponte_Preta Flamengo 1 1 1 0 0 0 0

Vasco Sao_Paulo 0 2 2 1 0 0 0

Coritiba Bahia 2 2 1 0 0 0 0

Criciuma Internacional 0 1 2 1 0 0 0

Corinthians Goias 1 2 2 1 0 0 0

Santos Botafogo 1 2 2 1 0 0 0

Vitoria Nautico 2 1 1 0 0 1 1

Gremio Atletico-MG 0 1 2 1 0 0 0

Vasco Vitoria 1 2 2 1 0 0 0

Gremio Santos 1 1 2 1 0 0 0

Criciuma Fluminense 1 2 2 1 0 0 0

Cruzeiro Botafogo 3 0 2 1 0 0 1

Coritiba Goias 2 2 1 0 0 0 0

Ponte_Preta Corinthians 2 0 0 0 0 0 0

Sao_Paulo Atletico-MG 1 0 2 1 0 1 1

Flamengo Atletico-PR 2 4 2 1 0 0 0

Bahia Internacional 2 0 2 3 0 0 0

Portuguesa Nautico 3 0 2 1 0 0 1

Page 14: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Fluminense Coritiba 1 1 2 1 0 0 0

Vitoria Gremio 0 0 0 0 1 1 1

Nautico Flamengo 0 0 3 2 0 0 0

Goias Sao_Paulo 1 0 2 1 0 1 1

Botafogo Bahia 1 2 2 1 0 0 0

Corinthians Cruzeiro 0 0 2 1 0 0 0

Internacional Portuguesa 0 1 2 1 0 0 0

Atletico-MG Vasco 2 1 2 1 1 1 1

Atletico-PR Ponte_Preta 1 0 2 1 0 1 1

Santos Criciuma 2 1 2 1 1 1 1

Goias Fluminense 1 2 2 1 0 0 0

Nautico Coritiba 3 0 3 2 0 0 1

Botafogo Ponte_Preta 0 1 2 1 0 0 0

Bahia Vasco 0 0 3 2 0 0 0

Portuguesa Corinthians 4 0 2 2 0 0 0

Flamengo Criciuma 4 1 2 1 0 0 1

Atletico-MG Santos 3 1 2 1 0 0 1

Atletico-PR Vitoria 3 5 2 1 0 0 0

Sao_Paulo Gremio 0 1 2 1 0 0 0

Internacional Cruzeiro 1 3 2 1 0 0 0

Criciuma Atletico-MG 1 1 2 1 0 0 0

Ponte_Preta Nautico 1 2 1 0 0 0 0

Gremio Atletico-PR 1 0 2 1 0 1 1

Cruzeiro Portuguesa 4 0 2 1 0 0 1

Fluminense Botafogo 1 1 2 1 0 0 0

Vitoria Goias 2 1 1 0 0 1 1

Coritiba Flamengo 0 2 1 0 0 0 0

Santos Sao_Paulo 3 0 1 1 0 0 0

Corinthians Bahia 2 0 2 1 0 0 1

Vasco Internacional 3 1 2 1 0 0 1

Botafogo Gremio 0 1 2 1 0 0 0

Sao_Paulo Vitoria 3 2 2 1 0 1 1

Internacional Fluminense 1 0 2 1 0 1 1

Atletico-MG Corinthians 0 0 2 1 0 0 0

Nautico Cruzeiro 1 4 3 2 0 0 0

Atletico-PR Coritiba 2 1 2 1 1 1 1

Flamengo Vasco 1 1 2 1 0 0 0

Bahia Ponte_Preta 1 1 3 2 0 0 0

Goias Criciuma 1 1 2 1 0 0 0

Portuguesa Santos 3 0 2 2 0 0 0

Gremio Criciuma 1 2 2 1 0 0 0

Coritiba Santos 1 0 1 0 1 1 1

Vasco Fluminense 1 0 2 1 0 1 1

Bahia Vitoria 2 0 3 2 0 0 1

Ponte_Preta Atletico-MG 2 0 0 0 0 0 0

Page 15: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Nautico Botafogo 1 3 3 2 0 0 0

Cruzeiro Sao_Paulo 0 2 2 1 0 0 0

Corinthians Atletico-PR 0 0 2 1 0 0 0

Portuguesa Goias 1 2 2 1 0 0 0

Flamengo Internacional 2 1 2 1 1 1 1

Fluminense Gremio 1 1 2 1 0 0 0

Vitoria Coritiba 2 1 0 0 0 0 0

Santos Ponte_Preta 2 1 2 1 1 1 1

Botafogo Flamengo 2 1 2 1 1 1 1

Sao_Paulo Corinthians 0 0 2 1 0 0 0

Internacional Nautico 4 1 2 1 0 0 1

Atletico-MG Cruzeiro 1 0 2 1 0 1 1

Criciuma Vasco 3 2 2 1 0 1 1

Goias Bahia 3 1 2 1 0 0 1

Atletico-PR Portuguesa 1 0 2 1 0 1 1

Santos Internacional 0 0 2 1 0 0 0

Atletico-PR Atletico-MG 1 0 2 1 0 1 1

Sao_Paulo Nautico 3 0 2 1 0 0 1

Ponte_Preta Coritiba 1 0 0 0 0 0 0

Criciuma Portuguesa 1 3 2 1 0 0 0

Cruzeiro Fluminense 1 0 2 1 0 1 1

Gremio Corinthians 1 0 2 1 0 1 1

Flamengo Bahia 2 1 2 1 1 1 1

Vasco Goias 0 2 2 1 0 0 0

Vitoria Botafogo 1 0 1 0 1 1 1

Fluminense Ponte_Preta 1 1 2 1 0 0 0

Nautico Santos 1 5 2 3 0 0 1

Corinthians Criciuma 1 0 2 1 0 1 1

Atletico-MG Flamengo 1 0 2 1 0 1 1

Bahia Sao_Paulo 0 1 2 3 0 1 1

Internacional Gremio 2 2 2 1 0 0 0

Goias Atletico-PR 3 0 2 1 0 0 1

Botafogo Vasco 2 2 2 1 0 0 0

Portuguesa Vitoria 1 1 2 1 0 0 0

Coritiba Cruzeiro 2 1 1 0 0 1 1

Cruzeiro Criciuma 5 3 2 1 0 0 1

Botafogo Atletico-MG 1 0 2 1 0 1 1

Ponte_Preta Vasco 2 1 1 0 0 1 1

Internacional Sao_Paulo 2 3 2 1 0 0 0

Corinthians Santos 1 1 2 1 0 0 0

Bahia Atletico-PR 1 1 3 2 0 0 0

Portuguesa Flamengo 0 0 2 1 0 0 0

Coritiba Gremio 4 0 1 0 0 0 1

Nautico Goias 0 2 3 2 0 0 0

Fluminense Vitoria 2 3 2 1 0 0 0

Page 16: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Vasco Coritiba 2 1 2 1 1 1 1

Sao_Paulo Portuguesa 2 1 2 1 1 1 1

Atletico-MG Nautico 5 0 2 1 0 0 1

Goias Botafogo 1 0 2 1 0 1 1

Vitoria Corinthians 1 1 1 0 0 0 0

Gremio Bahia 0 0 2 1 0 0 0

Santos Cruzeiro 0 1 2 1 0 0 0

Criciuma Ponte_Preta 1 1 2 1 0 0 0

Atletico-PR Internacional 1 0 2 1 0 1 1

Flamengo Fluminense 1 0 2 1 0 1 1

Portuguesa Coritiba 0 0 2 1 0 0 0

Bahia Atletico-MG 0 0 3 2 0 0 0

Flamengo Goias 1 1 2 1 0 0 0

Cruzeiro Gremio 3 0 2 1 0 0 1

Atletico-PR Sao_Paulo 3 0 2 1 0 0 1

Internacional Botafogo 2 1 2 1 1 1 1

Ponte_Preta Vitoria 0 3 1 0 0 0 0

Vasco Santos 2 2 2 1 0 0 0

Nautico Criciuma 0 1 2 2 0 0 0

Corinthians Fluminense 1 0 2 1 0 1 1

Goias Ponte_Preta 2 0 2 1 0 0 1

Gremio Vasco 1 0 2 1 0 1 1

Criciuma Atletico-PR 2 1 2 1 1 1 1

Botafogo Portuguesa 0 0 2 1 0 0 0

Vitoria Cruzeiro 1 3 1 0 0 0 0

Sao_Paulo Flamengo 2 0 2 1 0 0 1

Coritiba Corinthians 0 1 1 0 0 0 0

Santos Bahia 3 0 2 1 0 0 1

Fluminense Nautico 2 0 2 1 0 0 1

Atletico-MG Internacional 2 1 2 1 1 1 1

Botafogo Atletico-PR 4 0 2 1 0 0 1

Coritiba Criciuma 1 2 1 0 0 0 0

Fluminense Sao_Paulo 2 1 2 1 1 1 1

Vitoria Santos 2 0 1 0 0 0 1

Cruzeiro Ponte_Preta 2 2 2 1 0 0 0

Corinthians Vasco 0 0 2 1 0 0 0

Nautico Bahia 0 1 2 2 0 0 0

Gremio Flamengo 2 1 2 1 1 1 1

Goias Internacional 3 1 2 1 0 0 1

Portuguesa Atletico-MG 2 0 2 2 0 0 0

Criciuma Vitoria 1 1 2 1 0 0 0

Vasco Cruzeiro 2 1 2 1 1 1 1

Atletico-MG Goias 4 1 2 1 0 0 1

Flamengo Corinthians 1 0 2 1 0 1 1

Ponte_Preta Gremio 1 1 0 0 0 1 1

Page 17: Soccer Matches Results Prediction Using Multi Layer Perceptronhomepages.cae.wisc.edu/~ece539/fall13/project/ParreirasCouto_rpt.… · Soccer Matches Results Prediction Using Multi-Layer

Santos Fluminense 1 0 2 1 0 1 1

Internacional Coritiba 0 0 2 1 0 0 0

Atletico-PR Nautico 6 1 2 1 0 0 1

Bahia Portuguesa 1 0 2 2 0 0 0

Sao_Paulo Botafogo 1 1 2 1 0 0 0

Fluminense Atletico-MG 2 2 2 1 0 0 0

Corinthians Internacional 0 0 2 1 0 0 0

Gremio Goias 1 0 2 1 0 1 1

Coritiba Botafogo 2 1 1 0 0 1 1

Santos Atletico-PR 2 1 2 1 1 1 1

Cruzeiro Bahia 1 2 2 1 0 0 0

Criciuma Sao_Paulo 1 0 2 1 0 1 1

Vasco Nautico 2 0 2 1 0 0 1

Ponte_Preta Portuguesa 0 2 1 0 0 0 0

Vitoria Flamengo 4 2 1 0 0 0 1

Nautico Corinthians 1 0 3 2 0 1 1

Flamengo Cruzeiro 1 1 2 1 0 0 0

Goias Santos 0 3 2 1 0 0 0

Bahia Fluminense 1 2 2 3 0 1 1

Portuguesa Gremio 0 0 2 2 0 1 1

Atletico-MG Vitoria 2 2 2 1 0 0 0

Atletico-PR Vasco 5 1 2 1 0 0 1

Sao_Paulo Coritiba 0 1 2 1 0 0 0

Botafogo Criciuma 3 0 2 1 0 0 1

Internacional Ponte_Preta 0 0 2 1 0 0 0

Accuracy 11,32% 28,68% 48,16%