Hi everyone i was just wondering if anyone here has every created a Neural Network for predicting Sports results. i was interested in doing this however I'm not really sure where to start. if you have done something like this before could you just give me some feedback. also do you know of any good open sourced NN software which i can use to do this?

All help is appreciated

Thanks

Dani AI

Generated

A few practical notes and a short roadmap to turn the questions in the thread into a working project. has the right instincts — get the data and ground the problem first. Decide whether you want to predict outcome classes (home/draw/away), goal difference (regression) or probabilities. Collect match-level rows (date, teams, score, venue, odds if available) and build time-aware features: recent form windows, simple Elo or rolling strength ratings, head-to-head, rest days, home advantage, and any lineup/injury info you can reliably get. Never mix future info into features (data leakage).

A compact workflow to follow:

  1. Gather and clean chronological data; compute rolling stats and team-strength features.
  2. Define target (3-way, binary, or numeric) and a simple naive baseline (always pick home or bookmaker favorite).
  3. Use time-based splits (rolling-origin / backtesting), not random k-fold, and evaluate with log loss, Brier score and calibrated probabilities (not only accuracy).
  4. Start simple: logistic regression or a tree ensemble as a baseline. Move to neural nets only if you see consistent gains.
  5. When using NNs, keep architecture small at first, standardize inputs, and use early stopping and dropout.

A few modeling tips tied to the libraries mentioned in the thread: Java libraries you noted (Encog/Joone/Neuroph) can run the basic experiments, but modern Python tooling (scikit-learn, Keras/PyTorch, XGBoost/LightGBM) often makes iteration faster. For tabular sports data, tree ensembles frequently beat vanilla NNs unless you have a very large, rich dataset; embeddings for teams can help if you use NNs.

Minimal reproducible example (scikit-learn-style rolling split):

from sklearn.model_selection import TimeSeriesSplit
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier

ts = TimeSeriesSplit(n_splits=5)
pipe = make_pipeline(StandardScaler(), MLPClassifier(hidden_layer_sizes=(32,), early_stopping=True))
for train_idx, test_idx in ts.split(X):
    pipe.fit(X[train_idx], y[train_idx])
    print(pipe.score(X[test_idx], y[test_idx]))

Final troubleshooting checklist: check for leakage, compare to bookmaker odds as a strong baseline, calibrate probabilities (Platt/isotonic), simulate betting returns before trusting accuracy, and expect concept drift—retrain regularly. ’s pointer to Jeff Heaton is a solid study path; use that theory to build a concrete baseline, then iterate.

Recommended Answers

All 5 Replies

yea i have started to read his book actually does anyone actually know how to use encog lol. ive been looking at encog,joone and neuroph but i somehow cant find a good tutorial on how to create a predictive NN. maybe im not looking in the right place or im having a bad day :(

neural network my friend is a great science having too many aspects , i have took a neural network course and a genetic algorithm course using neural network and i think the link mentioned by ezzaral is a good point to start from , can you please explain more what is the encog so i can help .

hi Abdel encog is an open source Neural Network i have been looking for some tutorials and i have found one or two it really is an intresting topic NN can do some much. thanks for the feedback so far i will continue looking at jeffs book and his examples

Me again has anyone ever used Neural Networks for Sports prediction and does anyone have any tutorials i really wish i was taught NN at uni lol

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.