# Pre-trained model checkpoints Each subdirectory holds the **minimum artifacts** needed to run the matching script in `evaluation/`, plus metadata for reproducibility. Training-time performance diagnostics (ROC/PR curves, confusion matrices, Optuna trial tables, etc.) are **not** included — regenerate them with `--save-diagnostics` when re-training. ## `nn_one_hot/` | File | Purpose | |------|---------| | `model_weights/one_hot_model_full_model.h5` | Primary Keras checkpoint | | `model_weights/one_hot_model_weights.h5` | Weights-only fallback | | `model_weights/one_hot_model_architecture.json` | Architecture fallback (with weights H5) | | `one_hot_nn_validation_temperature.csv` | Temperature scaling for inference | | `one_hot_nn_validation_validation_diagnostics_summary.csv` | F1-optimal classification threshold | | `model_parameters.json` | Training hyperparameters and `target_length` | | `best_hyperparameters.csv` | Optuna best trial (architecture fallback) | | `random_seed.txt` | Random seed used during training | Evaluator: `evaluation/evaluate_nn_one_hot.py` ## `rf_one_hot/` | File | Purpose | |------|---------| | `one_hot_rf_model.joblib` | sklearn RandomForest + embedded `target_length` | | `one_hot_rf_validation_temperature.csv` | Temperature scaling | | `one_hot_rf_validation_validation_diagnostics_summary.csv` | F1-optimal threshold | | `model_parameters.json` | Training metadata | | `best_hyperparameters.csv` | Optuna best trial | | `random_seed.txt` | Random seed | Evaluator: `evaluation/evaluate_rf_one_hot.py` ## `nn_mean_pertoken_esm/` Per head (`mean` and `per_token`): | File pattern | Purpose | |--------------|---------| | `{head}_embeddings_model_weights.h5` | Keras softmax head | | `{head}_embeddings_scaler.npy` | `StandardScaler` used at training | | `{head}_embeddings_pca.npy` | PCA for per-token head only | | `{head}_embeddings_validation_temperature.csv` | Temperature scaling | | `{head}_embeddings_validation_validation_diagnostics_summary.csv` | F1-optimal threshold | | `{head}_embeddings_hyperparameters.csv` | Learning rate, L1, epochs | Plus `model_parameters.json` and `random_seed.txt`. Evaluator: `evaluation/evaluate_nn_mean_pertoken_esm.py` — also requires `.pt` embedding caches (not shipped; see `extract_embeddings/`). ## `rf_mean_pertoken_esm/` Per head (`mean` and `per_token`): | File pattern | Purpose | |--------------|---------| | `{head}_embeddings_rf_model.joblib` | sklearn RandomForest | | `{head}_embeddings_scaler.joblib` | Fitted scaler | | `{head}_embeddings_pca.joblib` | PCA for per-token head only | | `{head}_embeddings_validation_temperature.csv` | Temperature scaling | | `{head}_embeddings_validation_validation_diagnostics_summary.csv` | F1-optimal threshold | | `{head}_embeddings_hyperparameters.csv` | RF hyperparameters from Optuna | Plus `model_parameters.json` and `random_seed.txt`. Evaluator: `evaluation/evaluate_rf_mean_pertoken_esm.py` — also requires `.pt` embedding caches. ## Composition logistic regression No bundle is shipped here. Train with `models/lr_sequence_composition_baseline.py`, then point `evaluation/evaluate_lr_sequence_composition.py` at the output directory (needs `composition_lr_model.joblib` + calibration CSVs).