ORB-PU / A-PU Synthesizability Models

Positive-unlabeled (PU) synthesizability scorers for inorganic compositions. Trained on 109,283 Materials Project entries (49,283 labeled positives, 60,000 unlabeled). Features: ORB-v3 embeddings reduced by PCA, Magpie composition descriptors, and an optional ORB-energy stability scalar. The estimator is a Mordelet–Vert PU bagging classifier with an optional abstention / out-of-distribution layer (AbstainingPUClassifier).

This private repository holds the Optuna-tuned checkpoints from eight studies: {Magpie, ORB, ORB+Magpie, ORB+Magpie+stability} × {RandomForest, XGBoost}.

Selected model: apu_optuna/orb_mag__xgboost/model.joblib (held-out MP test split: AUPRC 0.961, AUROC 0.967, ECE 0.024).

Code, results, figures, and the full write-up are in https://github.com/sheikhahnaf/matinvent-BO under hcap_bo/ (see syn_finding.md).

Contents

  • apu_optuna/<feature_set>__<base>/model.joblib — eight AbstainingPUClassifier checkpoints (joblib).
  • cache/bank.npz.pca.pkl — PCA fitted on the training bank; required to map a raw 256-d ORB embedding to the orb_pca block used at inference.

Loading

import joblib
model = joblib.load("apu_optuna/orb_mag__xgboost/model.joblib")
# X = concat([orb_pca(50), magpie(132)]); see hcap_bo/src/apu_synthesizability
p   = model.predict_proba(X)   # synthesizability probability in [0, 1]
dec = model.predict(X)         # {"predictions": 1/0/-1, "abstain", "ood_scores", ...}

Unpickling requires the apu_synthesizability package (matinvent-BO/hcap_bo/src) and its dependencies (scikit-learn, xgboost, joblib, numpy). Each study is reproducible from hcap_bo/slurm/apu_optuna.slurm (seed 42).

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