Code Monkey home page Code Monkey logo

guru's Introduction

GURU

Predict future sports matches.

How to

1) Provide a data.json that consists of an array matches

Note: Currently only works if data.json is located in the same folder as guru.

[
  {
    "date": "2019-08-31T19:30:00-04:00",
    "home": "Detroit",
    "away": "Philadelphia",
    "result": [
      1,
      0
    ]
  },
  .. more matches here with Some(result)
  .. and matches with None aka null
  {
    "date": "2019-10-26T22:04:00-04:00",
    "home": "LosAngeles",
    "away": "California",
    "result": null
  },
]

Matches in the file that have a result provided are used for the training of the network.

Matches with no result (must be "null") will be predicted.

2) Run guru with error rate as single parameter

$ guru 0.3579

3) Run guru with error rate as single parameter

Wait, see the results, go bet and become rich.. :)

Benchmarks

I am testing the Network in three ways:

  1. Testing against seen Training Data
  2. Testing against unseen Test Data
  3. Testing against unseen future Football Matches with validation after the game day.

Each of the tests above can be interpreted in two ways:

  • Can the network predict the exact result of a match.
  • Does the network identify the outcome of the match correctly. Home-Win, Draw, Away-Win

1) Results

The results of Tests against seen Training data can be cranked up to a 100% success rate for both the result and the outcome of the match, by lowering the error rate. This leads to overfitting, it does lead to slightly better results of the Tests against unseen Test Data, not worth the disadvantages of overfitting.

The results of the Tests agains unseen Test data typically range between 16-34% for the prediction of the correct result and 50-78% for the prediction of the correct winner or the draw for a match.

2) Concrete Example:

The Data consists of all matches of the NISA Showcase Season 2019, all matches of the NPSL regular season, if the clubs were playing against a club that's playing in NISA or the NPSL Members Cup, and all matches of the NPSL Members Cup 2019.

On Oct 8-11, the network predicted the matches for the 10th week of NISA and NPSL Members Cup season. The Match Detroit : Michigan was on Oct 8, the result was included into the training set for four remaining matches in the week on Oct 12

Match Predicted Result Actual Result
Detroit : Michgan 5 : 0 2 : 0
Stumptown : Chattanooga 0 : 1 2 : 2
Milwaukee : Michigan 2 : 0 2 : 1
New York : Detroit 0 : 1 1 : 2
Atlanta : Miami 0 : 2 2 : 2
Challenge (of Oct 15 for matches Oct 16 - Oct 20).

The tests on seen training data resulted in 29% correct results predicted and 76% correct winner/draw predictions. The tests on unseen test data resulted in 29% correct results predicted and 82% correct winner/draw predictions.

On Oct 15 the following upcoming matches for Oct 16 were predicted:

Match Predicted Result Actual Result
Chattanooga FC 1 : 0 Stumptown Athletic
Oakland Roots SC 2 : 0 Los Angeles Force
California United Strikers 3 : 0 1904 San Diego FC
Michigan Stars FC 0 : 1 Detroit City FC
Napa Valley 1839 FC 0 : 3 New York Cosmos B
Detroit City FC 1 : 0 Milwaukee Torrent
Interpretation

Out of 5 matches the Network wasn't able to predict the correct result once. However it was able to predict the correct winner in 4 of 5 matches. Only the match Stumptown vs. Chattanooga was a predicted win for Chattanooga, but ended in a 2:2 draw.

The prediction of the outcome of a future match on real world data is in the range of what the test results on unseen data suggested. In this particular example 60%. Due to the small number of matches a second false prediction, the success reate would drop to 60% (3 out of 5 matches).

It is expected that on a game day with much more matches, the success rate would remain in that range.

guru's People

Contributors

kruschk avatar

Watchers

James Cloos avatar  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.