🚲 Predict Bike Sharing — real rentals data

This uses real data: daily bike-rental counts from a public bike-share system. Some inputs really drive ridership — others are redundant or a trap that looks great on training days but fails on new ones. Pick the inputs that actually help, shape the layers, and train (max 50 epochs). Your Score = test MSE × (1 + 0.4% per parameter) — the winner gets the lowest error with the smallest network. Everyone shares the same data & test split. Sign in, beat your best, and submit.

Data: UCI Bike Sharing Demand (Fanaee-T & Gama, 2013) — 366 real days from 2012. Time-based split: you train on the earlier days and are tested on the later days, so your model must generalize to the future — harder than a random split, and closer to real forecasting.

0

FEATURES

Which inputs actually help? Not all of them do. Click to toggle. 2 selected.

2 hidden layers

Line blue = positive weight, orange = negative; thickness = strength. Watch them shift as it trains.

OUTPUT

Train MSE
Test MSE
R² (fit)
🏆 Your Score lower is better
test MSE × (1 + 0.4% per parameter)
Test error
Size penalty

train   test   perfect fit

MSE per epoch — train / test

🧪 How to win: low error, few parameters

Predict the future

You're scored on later days you never trained on. A model that just memorizes the past won't transfer — favour inputs whose effect is stable over time (weather) over ones that drift. Expect a lower R² than a random split; that's the point.

Beware the trap

Watch train vs test MSE. A feature that makes train error tiny but test error worse is a trap that fit noise. Keep only inputs that lower test MSE.

Smaller network wins ties

Your Score = test MSE × (1 + 0.4% × parameters). Every extra input or neuron adds parameters. Trim until the fit just starts to suffer.

Read the diagram

Thick blue/orange lines are strong weights. A useless input ends up with thin, faint lines — a hint you can drop it.