GithubHelp home page GithubHelp logo

nba_match_outcome_prediction's Introduction

NBA Game Outcome Prediction

Model Architecture

nba_net_drawio

The underlying architecture of the prediction model is a CNN. The CNN takes three inputs: player statistics for the most recent games, a binary tensor indicating the momentum of each team (whether they won or lost their recent games), and bookmaker odds for the home team.

The player statistics are organized into a tensor with two channels (one for each team), statistics, top players based on the number of minutes played, and recent games. The convolutional layers in the model serve as aggregators with learnable weights, which are used to aggregate the statistics separately for each team and create team-level statistics.

A similar procedure is applied for the momentum feature, which is also aggregated separately for each team. Finally, the team-level statistics, aggregated momentum, and odds features are combined into a feature vector that is fed into the fully connected layers of the CNN. The fully connected layers then output the predicted outcome of the game.

Data Collection

The player statistics for the training data were gathered from the official NBA website using nba_api and the odds were scraped from several bookmaker sites. Then they were joined into a custom dataset.

Portfolio Optimization

The second part of the project aims to optimize a bettor's portfolio using a genetic algorithm that optimizes the Sharpe ratio based on predicted probabilities for game outcomes and bookmaker odds. To improve the overall performance of the portfolio optimization pipeline, additional rules were added to determine whether or not to accept bets based on the optimized bet ratios.

nba_match_outcome_prediction's People

Contributors

utkuboyar 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.