NakedSignal OS · Documentation
Back to the consoleDocumentation

Room occupancy from sensors

LIVE

The first non-medical corpus in the suite where dimension two is measured rather than nulled. The donors released one training period and two held-out test periods recorded under different physical conditions — a real re-collection of the same instrument, not a simulated perturbation. No separate specification document has been published for this benchmark — the MedEval-1 spec is the document, and this page is that instrument run on another corpus. Everything below is read from the same payload.json the medical leaderboard renders from.

spec MedEval-1 v0.1code fingerprint de32bca72d56seed 20260727device mpsgenerated 2026-08-03T19:03+00:00
4
models scored
2
tasks
8
scored records
12,417
held-out cases
92.8
best index — Logistic regression

The index is the weighted mean of the dimensions that were scored, on the weights published in the spec. Dimensions this corpus cannot support are excluded from it rather than counted as zero, which is why an index here is not comparable to a medical one model-for-model — it is a mean over a different set of questions, and the table below says which.

Every model, on all 9 dimensions

Ranked by index. An em-dash is a dimension the harness left null.
#ModelIndex1 Accuracy2 Cross-site3 Calibration4 Limited data5 Subgroup6 Corruption7 Uncertainty Specification sensitivity Cost, latency & footprint
1Logistic regressionstandardised, L2, C=192.895.589.993.093.688.299.4
2Random forest400 trees88.789.984.994.786.085.398.2
3MLP (128, 64)2 hidden layers, adam, early stopping when n>=20088.595.183.776.790.983.798.6
4Gradient boosting200 stages, depth 3, lr 0.0585.186.385.494.379.676.998.5
5Logistic regressionstandardised, L2, C=184.780.083.696.874.988.498.4
6Random forest400 trees76.394.910.889.791.481.698.2
7MLP (128, 64)2 hidden layers, adam, early stopping when n>=20075.275.164.170.574.181.296.4
8Gradient boosting200 stages, depth 3, lr 0.0573.371.855.293.365.478.197.3
Empty columns, and why they are empty
  • 2. Cross-site robustness No re-acquisition of the same subjects exists in this corpus, so there is nothing to measure. Widening the definition to fill the cell would be a spec change, not a demo.
  • . Not computed on any record in this benchmark, and not approximated.
  • . Not computed on any record in this benchmark, and not approximated.

The measurements the scores came from

Raw metrics, not the 0–100 rescaling.
ModelBalanced accuracy (95% CI)AUCECERisk–coverage AUCMean label-budget retention
Logistic regression0.977[0.9720.982]0.9920.0200.9970.930
Random forest0.950[0.9400.957]0.9850.0300.9910.947
MLP (128, 64)0.976[0.9710.980]0.9920.0330.9930.767
Gradient boosting0.932[0.9220.942]0.9850.0290.9930.943
Logistic regression0.900[0.8920.909]0.9800.0330.9920.968
Random forest0.975[0.9720.977]0.9940.1780.9910.897
MLP (128, 64)0.876[0.8690.883]0.9670.0720.9820.705
Gradient boosting0.859[0.8500.867]0.9720.0900.9860.933

Balanced accuracy carries a bootstrap 95% interval; read it before reading the rank. ECE is expected calibration error, so lower is better and the 0–100 dimension score inverts it. Every value here is on the record; hover any figure for the unrounded number.

The corpus

Room occupancy from sensors (period 1)

occupancy_detection · Tabular / environmental sensors
Source
UCI Occupancy DetectionCandanedo & Feldheim, Energy and Buildings 112:28-39, 2016
Split
official released split: the donor released one training period (datatraining.txt, 8143 rows) and two separate later test periods (datatest.txt 2665 rows, datatest2.txt 9752 rows); THIS task scores test period 1 (datatest.txt) whole and never fits on it. Validation is the last 15% of the training period in time order, not a random carve -- consecutive rows are one minute apart, so a random validation set would be scored on rows whose own neighbours are in train.
Sizes
6,922 train · 2,665 held out · 2 classes
Classes
unoccupied · occupied
Registry note
The donors released one training period and TWO held-out test periods recorded under different physical conditions. That is a genuine re-collection of the same instrument in the same room -- not a simulated perturbation -- so this family is the first non-medical member of the cross-site test. Headline accuracy is high because the light sensor is nearly decisive during office hours; the number that matters is the gap between the two periods, which is what dimension 2 measures.

Room occupancy from sensors (period 2)

occupancy_detection_2 · Tabular / environmental sensors
Source
UCI Occupancy DetectionCandanedo & Feldheim, Energy and Buildings 112:28-39, 2016
Split
official released split: the donor released one training period (datatraining.txt, 8143 rows) and two separate later test periods (datatest.txt 2665 rows, datatest2.txt 9752 rows); THIS task scores test period 2 (datatest2.txt) whole and never fits on it. Validation is the last 15% of the training period in time order, not a random carve -- consecutive rows are one minute apart, so a random validation set would be scored on rows whose own neighbours are in train.
Sizes
6,922 train · 9,752 held out · 2 classes
Classes
unoccupied · occupied
Registry note
Same training period and schema as period 1, scored on the donors' second held-out period. The pair is the finding; neither task on its own is.

Re-derive every figure on this page with python src/build_site.py --emit-json in plan_d/ — the same run writes the medical leaderboard. All benchmarks reads the same 9 dimensions per domain, and the trust graph traces any figure here back to the run that produced it.