Why I Built an AI Exoplanet Classifier That Says 'I Don't Know'
An XGBoost classifier on NASA Kepler/K2/TESS data is a Saturday afternoon. The interesting part is the UNKNOWN class — making the model refuse to commit on low-confidence cases instead of pretending to be confident.
Most ML demos optimize for a single number on a test set. Science doesn't work that way. A scientist would rather you flag the borderline case than confidently miscall it. So NovaTrace ships a third class — UNKNOWN — that fires when the model isn't certain enough to commit.
Confidence as a first-class citizen
The XGBoost pipeline emits a probability per class. We threshold the gap between the top two: if the model is hesitating between PLANET and FALSE POSITIVE, we don't pretend. We label the candidate UNKNOWN and surface the per-feature contributions so a human can decide what to do. That's the only way an ML tool earns its way into a scientist's workflow.
Three.js as a credibility tool
Confirmed systems get rendered in real-time 3D. It's not eye candy — it's a way for the user to sanity-check the classifier against star-and-planet geometry they already know. If your model says yes-planet for a system whose 3D view looks wrong, that's information.