Predicting jet engine death with Keras and 21 sensors
A concrete, end-to-end LSTM example for predictive maintenance that actually shows its homework.

What it does
This repo walks through two LSTM models trained on NASA’s public turbofan engine degradation dataset: one regression model that predicts remaining useful life in engine cycles, and one binary classifier that flags whether an engine will fail within a specified window. Both use 21 sensor readings across multiple multivariate time series—each series representing a different engine’s life from healthy to dead.
The interesting bit
The author doesn’t just dump a notebook and run. They publish actual experimental numbers—MAE of 12 cycles, R² of 0.7965 for regression; 0.97 accuracy and 0.96 F-score for classification—plus loss curves and prediction-vs-reality plots so you can eyeball whether the model is learning something real or just memorizing failure patterns.
Key highlights
- End-to-end pipeline: data exploration → windowed sequence prep → LSTM training → evaluation with metrics that matter for maintenance (not just accuracy theater)
- Two problem formulations from the same dataset: regression for “how long?” and classification for “should we ground it now?”
- Direct Colab link for immediate execution without local TensorFlow 1.3 archaeology
- Explicitly cited in two books and multiple academic papers, suggesting the code actually gets reused
- Extensions section sketches multi-class failure-window prediction, though it’s left as an exercise
Caveats
- Software environment is frozen in 2017: Python 3.6, TensorFlow 1.3.0, Keras 2.1.1. Reproducing today will require dependency archaeology or container time travel
- The README doesn’t explain the windowing logic or sequence length choices in depth—you’ll need to read the notebooks
Verdict
Worth a look if you’re building a predictive maintenance proof-of-concept and need a concrete baseline with published numbers to beat. Skip if you want modern TF2/Keras patterns or a production-ready pipeline; this is a well-documented student project that aged into a reference implementation.