Skip to content
More work

Energy data mining Team academic project 2026

Classifying and forecasting household energy use

A public UCI dataset of one household’s minute readings over almost four years, aggregated to 1,418 days and used for two tasks: labelling high-consumption days and forecasting the next day’s total

Period
January 2026
Team
Team of two
Context
Harokopio University of Athens: Data Mining
Tools
Python, pandas, scikit-learn, Keras

Classification: high-consumption days

A day counts as high when its total reaches 27.15 kWh, the mean of the training days alone. We split the 1,418 days in time order, 60/20/20, so the 284 test days come last.

The ten features describe the same day: sub-meter totals, peak-hour power, night-time energy, mean voltage and the calendar. So the model labels a day after the fact; it does not predict one. We removed mean current, which nearly restates the total, since power is voltage times current.

Gradient Boosting Test set, 284 days

Accuracy
89.4%
F1
86.1%
ROC-AUC
96.3%

Random Forest (88.4%) and logistic regression (86.6%) reached slightly lower test accuracy. Only 36% of test days are high, so answering “not high” every time would already score 64%; that is why F1 and ROC-AUC sit beside accuracy.

Forecasting: the next day’s total

Here the target is the next day’s total in kWh, and the reference is persistence: tomorrow equals today. Each model was tuned or checked on the validation days, refitted on training plus validation and scored once on the test period.

We took two routes. A Random Forest regressor used twelve features of the current day; Ridge regression, its linear counterpart, had a test RMSE of 5.68 kWh. An LSTM used only the last 14 days of consumption.

Next-day forecast: test RMSE, lower is better
  1. Persistence baseline 6.84 kWh

    tomorrow equals today reference

  2. Random Forest 5.59 kWh

    twelve features of the current day 18% below the baseline

  3. LSTM 5.61 kWh

    the last 14 days of consumption 18% below the baseline

Bars start at zero; the baseline is the full width. The two models come from separate setups, scored over almost the same test period (284 and 285 days); persistence scores 6.84 kWh in both.

Random Forest’s test RMSE was 0.02 kWh below that of the LSTM run in our report. The LSTM was not seeded, though, and the last saved run of the notebook gave 5.56 kWh, so in this experiment we read the two as level.

What the comparison showed

The test RMSE of Ridge regression, Random Forest and the LSTM fell between 5.56 and 5.68 kWh, against 6.84 kWh for persistence. Without that baseline, the errors alone would say little.

The two tasks also needed different measures: when one class is more common, accuracy alone flatters a classifier, and a forecast error means something only beside a naive reference. One comparison we would redo: ARIMA(1,1,1) and Prophet were scored on a single forecast of the whole test period, made before its first day rather than one day at a time, so their errors are not comparable and are left out.

Back to projects