Skip to main content
Jonathan Andrei
Back to all posts
Oct. 20255 min read

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.

XGBoostNASAThree.jsCalibration

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.

Related project

NovaTrace: AI-Powered Exoplanet Discovery & Exploration

View the project