Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/LauraSilRu/exoplanet-profiler/llms.txt

Use this file to discover all available pages before exploring further.

ExoProfiler produces reproducible, mathematically grounded clusters, but several data and methodological limitations constrain the strength of astrophysical conclusions that can be drawn. Understanding these limitations is essential for correct interpretation of the two planetary families and the PCA coordinates that underpin them.

Detection Bias (TESS Transit Photometry)

TESS primarily uses transit photometry to detect exoplanets. This method has an inherent selection bias toward:
  • Larger planets — deeper transits are easier to detect against stellar noise
  • Short orbital periods — more transits occur within the observation window
  • Planets orbiting smaller, dimmer stars — higher transit signal-to-noise ratio
As a result, the exoplanet sample in data/raw/exoplanets.csv does not uniformly represent all types of exoplanets in the galaxy — it over-represents Hot Jupiters and close-in planets relative to their true occurrence rates.
This bias propagates through every stage of the pipeline. PCA loadings, cluster centroids, and family profiles are all shaped by what TESS can detect, not by the underlying planetary population.

High Imputation Rate for pl_insol

Stellar insolation flux (pl_insol) has the highest missing value rate of any retained variable:
  • 57.58% missing in the raw 910-planet dataset
  • 51.71% of retained rows (731 planets) have imputed pl_insol values
Although KNN imputation (RMSE 0.4026, MAE 0.2422) outperforms median imputation (RMSE 0.7168, MAE 0.5651) on the benchmark, the high imputation fraction means that much of pl_insol’s contribution to clustering comes from estimated rather than observed values. Cluster interpretations that emphasize insolation should be treated with caution.

2026 Temporal Bias

Recent discoveries with disc_year = 2026 have a retention rate of only 33.92% after the completeness filter — substantially lower than older discovery cohorts. These are likely newly confirmed planets with many measurements still pending publication. This introduces a temporal bias: the pipeline retains a higher proportion of older, well-characterized planets and fewer recent discoveries.

Completeness Filter Exclusions

179 planets (19.67% of the original 910) are excluded because they have fewer than 8 of the 12 required features measured. The excluded planets are not a random sample — they may disproportionately represent:
  • Exotic or difficult-to-characterize objects whose properties are harder to measure
  • Very recent discoveries still awaiting follow-up observations
  • Planets detected by methods that yield fewer physical parameters
The preprocessing_row_audit.csv artifact records the per-planet inclusion decision and can be used to study the characteristics of excluded planets.

PCA Sensitivity

PCA components are sensitive to the sample composition and to preprocessing decisions. Changing any of the following will alter PCA loadings and likely the cluster assignments:
  • The completeness threshold (MIN_PRESENT_FEATURES)
  • The set of included features (FEATURE_COLUMNS)
  • The imputation strategy or its hyperparameters
  • The scaling method
The published loadings and component scores are specific to the 731-planet TESS subset processed with the exact configuration documented in preprocessing_metadata.json and pca_metadata.json.

KNN Imputation Smoothing

KNN imputation fills missing values using the average of the 5 nearest neighbors in scaled feature space. This can smooth over the unusual characteristics of rare planets. A genuinely extreme object whose neighbors are more typical will have its missing values pulled toward the typical range, potentially causing it to be placed in the wrong cluster.This effect is most relevant for pl_insol, where over half the values in the retained sample are imputed, and for pl_orbeccen and pl_bmasse, which each have roughly 31% missing values in the raw dataset.

Cluster Boundaries Are Mathematical, Not Physical

The K-Means algorithm assigns every planet to exactly one cluster based on Euclidean distance in 4-dimensional PCA space. The boundary between Family 0 (Standard Population) and Family 1 (Exotic Population) is a hyperplane — not a physically meaningful threshold in any single variable.Planets near the cluster boundary may be correctly classified or may be borderline cases. K-Means does not provide assignment probabilities or confidence scores: a planet is either in Cluster 0 or Cluster 1, with no indication of how close it is to the decision surface.
To assess whether a specific planet is near a boundary, inspect its PC1–PC4 scores in clustered_exoplanets.csv relative to the cluster centroids. Planets with extreme scores on any component are the most confidently classified; planets near the origin in PCA space are closest to the boundary.

Not Official Astronomical Classifications

The planetary families discovered by ExoProfiler are data-driven mathematical structures. Family 0 broadly corresponds to the continuum of rocky planets, Super-Earths, and Sub-Neptunes that form the typical TESS sample; Family 1 broadly corresponds to massive Gas Giants and Hot Jupiters with extreme orbital parameters. These groupings broadly align with NASA’s recognized planet type categories but do not constitute official astronomical classifications.Any astrophysical interpretation should be treated as hypothesis-generating rather than definitive.

Recommendations for Users

Use clustered_exoplanets.csv to examine the PC1–PC4 scores of specific planets. Planets with extreme scores on any component — particularly large positive PC1 (large orbital semi-major axis), extreme PC3 (high eccentricity), or large positive PC4 (high metallicity) — are most confidently classified. Planets with scores near zero on all four components are near the cluster boundary and their assignments carry less certainty.
Yes, using preprocessing_pipeline.joblib and pca_model.joblib. Apply pipeline.transform() to new data with the 12 FEATURE_COLUMNS in the correct order, then pass the result to pca.transform() to obtain PC1–PC4 scores. Note that the cluster definitions are fixed from the TESS training data. If your new dataset has substantially different characteristics (different detection method, different stellar types, different parameter coverage), a fresh pipeline fit on that dataset may be more appropriate than applying the saved artifacts.

Build docs developers (and LLMs) love