UAV fault classifier

A Gradient Boosting classifier that predicts the fault class of a UAV flight window from its telemetry. Trained on Bashifu/uav-fault-symptom-reports.

What it does

Given the 20 telemetry columns of a five-second flight window (voltage, motor output, vibration, GPS quality, and related signals), it predicts one of seven classes: normal or one of six fault families.

Performance

Measured on flights the model never saw during training or model selection.

Test accuracy (single window) 79.3%
Test macro F1 (single window) 0.797
Accuracy, five-window flight consensus see notebook 02b, section on consensus
Fault detection recall see notebook 02b, Part F

Low-severity faults, and low-voltage or environmental-disturbance flights specifically, carry most of the errors - both this model and the text-based retrieval system in this project confuse them with normal flight, which is an honest limitation of the underlying signal, not a fixable bug.

How to use it

import joblib
from huggingface_hub import hf_hub_download

model_path = hf_hub_download(repo_id="Bashifu/uav-fault-classifier", filename="model.joblib")
model = joblib.load(model_path)

metadata_path = hf_hub_download(repo_id="Bashifu/uav-fault-classifier", filename="metadata.json")

The metadata file lists the exact feature columns and their order, and the class order the model's output corresponds to - both are required to call model.predict correctly.

Limitations

  • Trained on synthetic academic data, not real flight telemetry; not certified for autonomous real-aircraft use.
  • The random-forest-style feature importances and the ablation in notebook 02b describe this model's behaviour, not a causal account of what causes each fault in reality.
  • Class order and feature order must match metadata.json exactly; the model does not validate its own input.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train Bashifu/uav-fault-classifier