Upload folder using huggingface_hub
Browse files- PROVENANCE.json +18 -0
- README.md +20 -0
- case_calibration_report_platt.json +98 -0
- comparison_vs_cnn.json +111 -0
- comparison_vs_cnn_platt_probs.json +111 -0
- metrics.json +112 -0
- model.joblib +3 -0
- tp53_clinical_report_pathfoundation_platt.json +261 -0
PROVENANCE.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"artifact_name": "Voxelomics TP53 head on Path Foundation embeddings",
|
| 3 |
+
"artifact_type": "classifier_head",
|
| 4 |
+
"base_model_family": "Google HAI-DEF Path Foundation",
|
| 5 |
+
"base_model_identifier": "google/path-foundation",
|
| 6 |
+
"base_model_source": "https://huggingface.co/google/path-foundation",
|
| 7 |
+
"base_model_loaded_locally": true,
|
| 8 |
+
"base_model_loading_mode": "local cache / local_files_only",
|
| 9 |
+
"derived_artifact": "model.joblib",
|
| 10 |
+
"task": "TP53 mutation risk support from WSI embeddings",
|
| 11 |
+
"training_code_repo": "https://github.com/faith-ogun/Voxelomics-offline",
|
| 12 |
+
"training_code_paths": [
|
| 13 |
+
"backend/diagnosticore-service/path_foundation_experiment/extract_pathfoundation_embeddings.py",
|
| 14 |
+
"backend/diagnosticore-service/path_foundation_experiment/train_tp53_head_from_embeddings.py",
|
| 15 |
+
"backend/diagnosticore-service/path_foundation_experiment/compare_vs_cnn_baseline.py"
|
| 16 |
+
],
|
| 17 |
+
"notes": "This repo contains a derived TP53 head and evaluation artifacts, not Path Foundation base weights."
|
| 18 |
+
}
|
README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Voxelomics Path Foundation TP53 Head (Derived Artifact)
|
| 2 |
+
|
| 3 |
+
This repository contains a derived TP53 classifier head (`model.joblib`) and evaluation artifacts used in the Voxelomics offline pathology workflow demo.
|
| 4 |
+
|
| 5 |
+
## Provenance / Traceability to HAI-DEF
|
| 6 |
+
- Base HAI-DEF model: `google/path-foundation`
|
| 7 |
+
- Base model source: https://huggingface.co/google/path-foundation
|
| 8 |
+
- Embeddings were extracted with the Voxelomics Path Foundation embedding pipeline.
|
| 9 |
+
- This repo does **not** redistribute Path Foundation base weights.
|
| 10 |
+
|
| 11 |
+
## What is included
|
| 12 |
+
- `model.joblib` (derived TP53 classifier head)
|
| 13 |
+
- evaluation JSON artifacts
|
| 14 |
+
- `PROVENANCE.json` (artifact lineage and code references)
|
| 15 |
+
|
| 16 |
+
## Intended use
|
| 17 |
+
Research/demo use only. Not for clinical deployment or diagnosis.
|
| 18 |
+
|
| 19 |
+
## Code
|
| 20 |
+
https://github.com/faith-ogun/Voxelomics-offline
|
case_calibration_report_platt.json
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"config": {
|
| 3 |
+
"input_csv": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/case_predictions.csv",
|
| 4 |
+
"output_csv": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/case_predictions_calibrated_platt.csv",
|
| 5 |
+
"method": "platt",
|
| 6 |
+
"fit_split": "val",
|
| 7 |
+
"decision_threshold": 0.5,
|
| 8 |
+
"seed": 42
|
| 9 |
+
},
|
| 10 |
+
"raw_metrics_by_split": {
|
| 11 |
+
"test": {
|
| 12 |
+
"n": 50.0,
|
| 13 |
+
"positive_rate": 0.4,
|
| 14 |
+
"accuracy": 0.72,
|
| 15 |
+
"precision": 0.65,
|
| 16 |
+
"recall": 0.65,
|
| 17 |
+
"specificity": 0.7666666666666667,
|
| 18 |
+
"f1": 0.65,
|
| 19 |
+
"balanced_accuracy": 0.7083333333333334,
|
| 20 |
+
"roc_auc": 0.77,
|
| 21 |
+
"average_precision": 0.7083413072873412,
|
| 22 |
+
"brier_score": 0.19325586999295996,
|
| 23 |
+
"ece_10": 0.10849864000000001
|
| 24 |
+
},
|
| 25 |
+
"train": {
|
| 26 |
+
"n": 100.0,
|
| 27 |
+
"positive_rate": 0.34,
|
| 28 |
+
"accuracy": 0.97,
|
| 29 |
+
"precision": 0.9428571428571428,
|
| 30 |
+
"recall": 0.9705882352941176,
|
| 31 |
+
"specificity": 0.9696969696969697,
|
| 32 |
+
"f1": 0.9565217391304348,
|
| 33 |
+
"balanced_accuracy": 0.9701426024955437,
|
| 34 |
+
"roc_auc": 0.9919786096256685,
|
| 35 |
+
"average_precision": 0.981491690975888,
|
| 36 |
+
"brier_score": 0.09445972738098998,
|
| 37 |
+
"ece_10": 0.25159594999999996
|
| 38 |
+
},
|
| 39 |
+
"val": {
|
| 40 |
+
"n": 50.0,
|
| 41 |
+
"positive_rate": 0.36,
|
| 42 |
+
"accuracy": 0.76,
|
| 43 |
+
"precision": 0.6875,
|
| 44 |
+
"recall": 0.6111111111111112,
|
| 45 |
+
"specificity": 0.84375,
|
| 46 |
+
"f1": 0.6470588235294118,
|
| 47 |
+
"balanced_accuracy": 0.7274305555555556,
|
| 48 |
+
"roc_auc": 0.8836805555555556,
|
| 49 |
+
"average_precision": 0.8032331072875449,
|
| 50 |
+
"brier_score": 0.15651664435758,
|
| 51 |
+
"ece_10": 0.14666105999999995
|
| 52 |
+
}
|
| 53 |
+
},
|
| 54 |
+
"calibrated_metrics_by_split": {
|
| 55 |
+
"test": {
|
| 56 |
+
"n": 50.0,
|
| 57 |
+
"positive_rate": 0.4,
|
| 58 |
+
"accuracy": 0.64,
|
| 59 |
+
"precision": 0.75,
|
| 60 |
+
"recall": 0.15,
|
| 61 |
+
"specificity": 0.9666666666666667,
|
| 62 |
+
"f1": 0.24999999999999997,
|
| 63 |
+
"balanced_accuracy": 0.5583333333333333,
|
| 64 |
+
"roc_auc": 0.77,
|
| 65 |
+
"average_precision": 0.7083413072873412,
|
| 66 |
+
"brier_score": 0.20820516360342,
|
| 67 |
+
"ece_10": 0.13791082
|
| 68 |
+
},
|
| 69 |
+
"train": {
|
| 70 |
+
"n": 100.0,
|
| 71 |
+
"positive_rate": 0.34,
|
| 72 |
+
"accuracy": 0.82,
|
| 73 |
+
"precision": 1.0,
|
| 74 |
+
"recall": 0.47058823529411764,
|
| 75 |
+
"specificity": 1.0,
|
| 76 |
+
"f1": 0.6399999999999999,
|
| 77 |
+
"balanced_accuracy": 0.7352941176470589,
|
| 78 |
+
"roc_auc": 0.9919786096256685,
|
| 79 |
+
"average_precision": 0.981491690975888,
|
| 80 |
+
"brier_score": 0.14688661838756,
|
| 81 |
+
"ece_10": 0.33329654
|
| 82 |
+
},
|
| 83 |
+
"val": {
|
| 84 |
+
"n": 50.0,
|
| 85 |
+
"positive_rate": 0.36,
|
| 86 |
+
"accuracy": 0.68,
|
| 87 |
+
"precision": 1.0,
|
| 88 |
+
"recall": 0.1111111111111111,
|
| 89 |
+
"specificity": 1.0,
|
| 90 |
+
"f1": 0.19999999999999998,
|
| 91 |
+
"balanced_accuracy": 0.5555555555555556,
|
| 92 |
+
"roc_auc": 0.8836805555555556,
|
| 93 |
+
"average_precision": 0.8032331072875449,
|
| 94 |
+
"brier_score": 0.18652675945328004,
|
| 95 |
+
"ece_10": 0.14931776
|
| 96 |
+
}
|
| 97 |
+
}
|
| 98 |
+
}
|
comparison_vs_cnn.json
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"config": {
|
| 3 |
+
"cnn_case_predictions": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/cnn_tp53_200/case_predictions.csv",
|
| 4 |
+
"pathfoundation_case_predictions": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/case_predictions.csv",
|
| 5 |
+
"decision_threshold": 0.5
|
| 6 |
+
},
|
| 7 |
+
"overlap": {
|
| 8 |
+
"n_common_case_split_rows": 200,
|
| 9 |
+
"splits": [
|
| 10 |
+
"test",
|
| 11 |
+
"train",
|
| 12 |
+
"val"
|
| 13 |
+
]
|
| 14 |
+
},
|
| 15 |
+
"cnn_metrics_by_split": {
|
| 16 |
+
"test": {
|
| 17 |
+
"n": 50.0,
|
| 18 |
+
"positive_rate": 0.4,
|
| 19 |
+
"accuracy": 0.7,
|
| 20 |
+
"precision": 0.8571428571428571,
|
| 21 |
+
"recall": 0.3,
|
| 22 |
+
"f1": 0.4444444444444444,
|
| 23 |
+
"roc_auc": 0.7916666666666667,
|
| 24 |
+
"average_precision": 0.7531416732301973
|
| 25 |
+
},
|
| 26 |
+
"train": {
|
| 27 |
+
"n": 100.0,
|
| 28 |
+
"positive_rate": 0.34,
|
| 29 |
+
"accuracy": 0.83,
|
| 30 |
+
"precision": 0.9473684210526315,
|
| 31 |
+
"recall": 0.5294117647058824,
|
| 32 |
+
"f1": 0.6792452830188679,
|
| 33 |
+
"roc_auc": 0.9188948306595366,
|
| 34 |
+
"average_precision": 0.8747318689426417
|
| 35 |
+
},
|
| 36 |
+
"val": {
|
| 37 |
+
"n": 50.0,
|
| 38 |
+
"positive_rate": 0.36,
|
| 39 |
+
"accuracy": 0.78,
|
| 40 |
+
"precision": 0.8181818181818182,
|
| 41 |
+
"recall": 0.5,
|
| 42 |
+
"f1": 0.6206896551724138,
|
| 43 |
+
"roc_auc": 0.8454861111111112,
|
| 44 |
+
"average_precision": 0.7712379190481149
|
| 45 |
+
}
|
| 46 |
+
},
|
| 47 |
+
"pathfoundation_metrics_by_split": {
|
| 48 |
+
"test": {
|
| 49 |
+
"n": 50.0,
|
| 50 |
+
"positive_rate": 0.4,
|
| 51 |
+
"accuracy": 0.72,
|
| 52 |
+
"precision": 0.65,
|
| 53 |
+
"recall": 0.65,
|
| 54 |
+
"f1": 0.65,
|
| 55 |
+
"roc_auc": 0.77,
|
| 56 |
+
"average_precision": 0.7083413072873412
|
| 57 |
+
},
|
| 58 |
+
"train": {
|
| 59 |
+
"n": 100.0,
|
| 60 |
+
"positive_rate": 0.34,
|
| 61 |
+
"accuracy": 0.97,
|
| 62 |
+
"precision": 0.9428571428571428,
|
| 63 |
+
"recall": 0.9705882352941176,
|
| 64 |
+
"f1": 0.9565217391304348,
|
| 65 |
+
"roc_auc": 0.9919786096256685,
|
| 66 |
+
"average_precision": 0.981491690975888
|
| 67 |
+
},
|
| 68 |
+
"val": {
|
| 69 |
+
"n": 50.0,
|
| 70 |
+
"positive_rate": 0.36,
|
| 71 |
+
"accuracy": 0.76,
|
| 72 |
+
"precision": 0.6875,
|
| 73 |
+
"recall": 0.6111111111111112,
|
| 74 |
+
"f1": 0.6470588235294118,
|
| 75 |
+
"roc_auc": 0.8836805555555556,
|
| 76 |
+
"average_precision": 0.8032331072875449
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"delta_pathfoundation_minus_cnn_by_split": {
|
| 80 |
+
"test": {
|
| 81 |
+
"n": 0.0,
|
| 82 |
+
"positive_rate": 0.0,
|
| 83 |
+
"accuracy": 0.020000000000000018,
|
| 84 |
+
"precision": -0.20714285714285707,
|
| 85 |
+
"recall": 0.35000000000000003,
|
| 86 |
+
"f1": 0.2055555555555556,
|
| 87 |
+
"roc_auc": -0.021666666666666723,
|
| 88 |
+
"average_precision": -0.04480036594285608
|
| 89 |
+
},
|
| 90 |
+
"train": {
|
| 91 |
+
"n": 0.0,
|
| 92 |
+
"positive_rate": 0.0,
|
| 93 |
+
"accuracy": 0.14,
|
| 94 |
+
"precision": -0.004511278195488688,
|
| 95 |
+
"recall": 0.4411764705882353,
|
| 96 |
+
"f1": 0.2772764561115669,
|
| 97 |
+
"roc_auc": 0.07308377896613194,
|
| 98 |
+
"average_precision": 0.1067598220332463
|
| 99 |
+
},
|
| 100 |
+
"val": {
|
| 101 |
+
"n": 0.0,
|
| 102 |
+
"positive_rate": 0.0,
|
| 103 |
+
"accuracy": -0.020000000000000018,
|
| 104 |
+
"precision": -0.13068181818181823,
|
| 105 |
+
"recall": 0.11111111111111116,
|
| 106 |
+
"f1": 0.026369168356997985,
|
| 107 |
+
"roc_auc": 0.03819444444444442,
|
| 108 |
+
"average_precision": 0.03199518823943004
|
| 109 |
+
}
|
| 110 |
+
}
|
| 111 |
+
}
|
comparison_vs_cnn_platt_probs.json
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"config": {
|
| 3 |
+
"cnn_case_predictions": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/cnn_tp53_200/case_predictions.csv",
|
| 4 |
+
"pathfoundation_case_predictions": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/case_predictions_calibrated_platt.csv",
|
| 5 |
+
"decision_threshold": 0.5
|
| 6 |
+
},
|
| 7 |
+
"overlap": {
|
| 8 |
+
"n_common_case_split_rows": 200,
|
| 9 |
+
"splits": [
|
| 10 |
+
"test",
|
| 11 |
+
"train",
|
| 12 |
+
"val"
|
| 13 |
+
]
|
| 14 |
+
},
|
| 15 |
+
"cnn_metrics_by_split": {
|
| 16 |
+
"test": {
|
| 17 |
+
"n": 50.0,
|
| 18 |
+
"positive_rate": 0.4,
|
| 19 |
+
"accuracy": 0.7,
|
| 20 |
+
"precision": 0.8571428571428571,
|
| 21 |
+
"recall": 0.3,
|
| 22 |
+
"f1": 0.4444444444444444,
|
| 23 |
+
"roc_auc": 0.7916666666666667,
|
| 24 |
+
"average_precision": 0.7531416732301973
|
| 25 |
+
},
|
| 26 |
+
"train": {
|
| 27 |
+
"n": 100.0,
|
| 28 |
+
"positive_rate": 0.34,
|
| 29 |
+
"accuracy": 0.83,
|
| 30 |
+
"precision": 0.9473684210526315,
|
| 31 |
+
"recall": 0.5294117647058824,
|
| 32 |
+
"f1": 0.6792452830188679,
|
| 33 |
+
"roc_auc": 0.9188948306595366,
|
| 34 |
+
"average_precision": 0.8747318689426417
|
| 35 |
+
},
|
| 36 |
+
"val": {
|
| 37 |
+
"n": 50.0,
|
| 38 |
+
"positive_rate": 0.36,
|
| 39 |
+
"accuracy": 0.78,
|
| 40 |
+
"precision": 0.8181818181818182,
|
| 41 |
+
"recall": 0.5,
|
| 42 |
+
"f1": 0.6206896551724138,
|
| 43 |
+
"roc_auc": 0.8454861111111112,
|
| 44 |
+
"average_precision": 0.7712379190481149
|
| 45 |
+
}
|
| 46 |
+
},
|
| 47 |
+
"pathfoundation_metrics_by_split": {
|
| 48 |
+
"test": {
|
| 49 |
+
"n": 50.0,
|
| 50 |
+
"positive_rate": 0.4,
|
| 51 |
+
"accuracy": 0.64,
|
| 52 |
+
"precision": 0.75,
|
| 53 |
+
"recall": 0.15,
|
| 54 |
+
"f1": 0.25,
|
| 55 |
+
"roc_auc": 0.77,
|
| 56 |
+
"average_precision": 0.7083413072873412
|
| 57 |
+
},
|
| 58 |
+
"train": {
|
| 59 |
+
"n": 100.0,
|
| 60 |
+
"positive_rate": 0.34,
|
| 61 |
+
"accuracy": 0.82,
|
| 62 |
+
"precision": 1.0,
|
| 63 |
+
"recall": 0.47058823529411764,
|
| 64 |
+
"f1": 0.64,
|
| 65 |
+
"roc_auc": 0.9919786096256685,
|
| 66 |
+
"average_precision": 0.981491690975888
|
| 67 |
+
},
|
| 68 |
+
"val": {
|
| 69 |
+
"n": 50.0,
|
| 70 |
+
"positive_rate": 0.36,
|
| 71 |
+
"accuracy": 0.68,
|
| 72 |
+
"precision": 1.0,
|
| 73 |
+
"recall": 0.1111111111111111,
|
| 74 |
+
"f1": 0.2,
|
| 75 |
+
"roc_auc": 0.8836805555555556,
|
| 76 |
+
"average_precision": 0.8032331072875449
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"delta_pathfoundation_minus_cnn_by_split": {
|
| 80 |
+
"test": {
|
| 81 |
+
"n": 0.0,
|
| 82 |
+
"positive_rate": 0.0,
|
| 83 |
+
"accuracy": -0.05999999999999994,
|
| 84 |
+
"precision": -0.1071428571428571,
|
| 85 |
+
"recall": -0.15,
|
| 86 |
+
"f1": -0.19444444444444442,
|
| 87 |
+
"roc_auc": -0.021666666666666723,
|
| 88 |
+
"average_precision": -0.04480036594285608
|
| 89 |
+
},
|
| 90 |
+
"train": {
|
| 91 |
+
"n": 0.0,
|
| 92 |
+
"positive_rate": 0.0,
|
| 93 |
+
"accuracy": -0.010000000000000009,
|
| 94 |
+
"precision": 0.052631578947368474,
|
| 95 |
+
"recall": -0.05882352941176472,
|
| 96 |
+
"f1": -0.03924528301886787,
|
| 97 |
+
"roc_auc": 0.07308377896613194,
|
| 98 |
+
"average_precision": 0.1067598220332463
|
| 99 |
+
},
|
| 100 |
+
"val": {
|
| 101 |
+
"n": 0.0,
|
| 102 |
+
"positive_rate": 0.0,
|
| 103 |
+
"accuracy": -0.09999999999999998,
|
| 104 |
+
"precision": 0.18181818181818177,
|
| 105 |
+
"recall": -0.3888888888888889,
|
| 106 |
+
"f1": -0.4206896551724138,
|
| 107 |
+
"roc_auc": 0.03819444444444442,
|
| 108 |
+
"average_precision": 0.03199518823943004
|
| 109 |
+
}
|
| 110 |
+
}
|
| 111 |
+
}
|
metrics.json
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"config": {
|
| 3 |
+
"embeddings_npy": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/embeddings.npy",
|
| 4 |
+
"embedding_rows_csv": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/embedding_rows.csv",
|
| 5 |
+
"seed": 42,
|
| 6 |
+
"max_train_tiles": 50000,
|
| 7 |
+
"max_eval_tiles_per_split": 15000,
|
| 8 |
+
"decision_threshold": 0.5,
|
| 9 |
+
"logreg_c": 1.0
|
| 10 |
+
},
|
| 11 |
+
"dataset": {
|
| 12 |
+
"n_rows_total": 98761,
|
| 13 |
+
"n_features": 384,
|
| 14 |
+
"n_train_used": 49092,
|
| 15 |
+
"n_eval_used": 30000,
|
| 16 |
+
"class_balance_train": 0.33862951193677177
|
| 17 |
+
},
|
| 18 |
+
"tile_metrics": {
|
| 19 |
+
"train": {
|
| 20 |
+
"n": 49092.0,
|
| 21 |
+
"positive_rate": 0.33862951193677177,
|
| 22 |
+
"accuracy": 0.7936323637252506,
|
| 23 |
+
"precision": 0.6661038628805321,
|
| 24 |
+
"recall": 0.7831448508180944,
|
| 25 |
+
"f1": 0.7198982554120932,
|
| 26 |
+
"roc_auc": 0.8762093522556836,
|
| 27 |
+
"average_precision": 0.802780630411325
|
| 28 |
+
},
|
| 29 |
+
"eval": {
|
| 30 |
+
"n": 30000.0,
|
| 31 |
+
"positive_rate": 0.5,
|
| 32 |
+
"accuracy": 0.6401666666666667,
|
| 33 |
+
"precision": 0.6584042793641226,
|
| 34 |
+
"recall": 0.5826,
|
| 35 |
+
"f1": 0.6181869628267251,
|
| 36 |
+
"roc_auc": 0.6964796622222222,
|
| 37 |
+
"average_precision": 0.6957854729844977
|
| 38 |
+
}
|
| 39 |
+
},
|
| 40 |
+
"slide_metrics_by_split": {
|
| 41 |
+
"test": {
|
| 42 |
+
"n": 50.0,
|
| 43 |
+
"positive_rate": 0.4,
|
| 44 |
+
"accuracy": 0.72,
|
| 45 |
+
"precision": 0.65,
|
| 46 |
+
"recall": 0.65,
|
| 47 |
+
"f1": 0.65,
|
| 48 |
+
"roc_auc": 0.77,
|
| 49 |
+
"average_precision": 0.7083413072873412
|
| 50 |
+
},
|
| 51 |
+
"train": {
|
| 52 |
+
"n": 100.0,
|
| 53 |
+
"positive_rate": 0.34,
|
| 54 |
+
"accuracy": 0.97,
|
| 55 |
+
"precision": 0.9428571428571428,
|
| 56 |
+
"recall": 0.9705882352941176,
|
| 57 |
+
"f1": 0.9565217391304348,
|
| 58 |
+
"roc_auc": 0.9919786096256685,
|
| 59 |
+
"average_precision": 0.981491690975888
|
| 60 |
+
},
|
| 61 |
+
"val": {
|
| 62 |
+
"n": 50.0,
|
| 63 |
+
"positive_rate": 0.36,
|
| 64 |
+
"accuracy": 0.76,
|
| 65 |
+
"precision": 0.6875,
|
| 66 |
+
"recall": 0.6111111111111112,
|
| 67 |
+
"f1": 0.6470588235294118,
|
| 68 |
+
"roc_auc": 0.8836805555555556,
|
| 69 |
+
"average_precision": 0.8032331072875449
|
| 70 |
+
}
|
| 71 |
+
},
|
| 72 |
+
"case_metrics_by_split": {
|
| 73 |
+
"test": {
|
| 74 |
+
"n": 50.0,
|
| 75 |
+
"positive_rate": 0.4,
|
| 76 |
+
"accuracy": 0.72,
|
| 77 |
+
"precision": 0.65,
|
| 78 |
+
"recall": 0.65,
|
| 79 |
+
"f1": 0.65,
|
| 80 |
+
"roc_auc": 0.77,
|
| 81 |
+
"average_precision": 0.7083413072873412
|
| 82 |
+
},
|
| 83 |
+
"train": {
|
| 84 |
+
"n": 100.0,
|
| 85 |
+
"positive_rate": 0.34,
|
| 86 |
+
"accuracy": 0.97,
|
| 87 |
+
"precision": 0.9428571428571428,
|
| 88 |
+
"recall": 0.9705882352941176,
|
| 89 |
+
"f1": 0.9565217391304348,
|
| 90 |
+
"roc_auc": 0.9919786096256685,
|
| 91 |
+
"average_precision": 0.981491690975888
|
| 92 |
+
},
|
| 93 |
+
"val": {
|
| 94 |
+
"n": 50.0,
|
| 95 |
+
"positive_rate": 0.36,
|
| 96 |
+
"accuracy": 0.76,
|
| 97 |
+
"precision": 0.6875,
|
| 98 |
+
"recall": 0.6111111111111112,
|
| 99 |
+
"f1": 0.6470588235294118,
|
| 100 |
+
"roc_auc": 0.8836805555555556,
|
| 101 |
+
"average_precision": 0.8032331072875449
|
| 102 |
+
}
|
| 103 |
+
},
|
| 104 |
+
"compat_note": {
|
| 105 |
+
"cnn_equivalent_files": [
|
| 106 |
+
"/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/tile_predictions.csv",
|
| 107 |
+
"/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/slide_predictions.csv",
|
| 108 |
+
"/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/case_predictions.csv",
|
| 109 |
+
"/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/metrics.json"
|
| 110 |
+
]
|
| 111 |
+
}
|
| 112 |
+
}
|
model.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0cdf56b37ceada6a925a3d036b3cc7d7afb092bc06247bdb8efe57d9df75d715
|
| 3 |
+
size 13633
|
tp53_clinical_report_pathfoundation_platt.json
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"artifact_type": "tp53_locked_threshold_report_v1",
|
| 3 |
+
"created_at_utc": "2026-02-16T18:30:38.534727+00:00",
|
| 4 |
+
"config": {
|
| 5 |
+
"predictions_csv": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/case_predictions_calibrated_platt.csv",
|
| 6 |
+
"threshold_source": "threshold_json",
|
| 7 |
+
"threshold_objective": "max_f1",
|
| 8 |
+
"bootstrap_iters": 2000,
|
| 9 |
+
"seed": 42,
|
| 10 |
+
"subgroup_columns": [],
|
| 11 |
+
"min_subgroup_size": 8
|
| 12 |
+
},
|
| 13 |
+
"locked_threshold": {
|
| 14 |
+
"value": 0.338,
|
| 15 |
+
"source": "threshold_json",
|
| 16 |
+
"objective": "max_f1"
|
| 17 |
+
},
|
| 18 |
+
"overall_metrics": {
|
| 19 |
+
"val": {
|
| 20 |
+
"threshold_metrics": {
|
| 21 |
+
"n": 50.0,
|
| 22 |
+
"positive_rate": 0.36,
|
| 23 |
+
"accuracy": 0.82,
|
| 24 |
+
"precision": 0.68,
|
| 25 |
+
"recall": 0.9444444444444444,
|
| 26 |
+
"specificity": 0.75,
|
| 27 |
+
"f1": 0.7906976744186047,
|
| 28 |
+
"balanced_accuracy": 0.8472222222222222
|
| 29 |
+
},
|
| 30 |
+
"rank_metrics": {
|
| 31 |
+
"roc_auc": 0.8836805555555556,
|
| 32 |
+
"average_precision": 0.8032331072875449
|
| 33 |
+
},
|
| 34 |
+
"calibration": {
|
| 35 |
+
"brier_score": 0.18652675945328004,
|
| 36 |
+
"ece_10": 0.14931776
|
| 37 |
+
}
|
| 38 |
+
},
|
| 39 |
+
"test": {
|
| 40 |
+
"threshold_metrics": {
|
| 41 |
+
"n": 50.0,
|
| 42 |
+
"positive_rate": 0.4,
|
| 43 |
+
"accuracy": 0.7,
|
| 44 |
+
"precision": 0.5862068965517241,
|
| 45 |
+
"recall": 0.85,
|
| 46 |
+
"specificity": 0.6,
|
| 47 |
+
"f1": 0.6938775510204082,
|
| 48 |
+
"balanced_accuracy": 0.725
|
| 49 |
+
},
|
| 50 |
+
"rank_metrics": {
|
| 51 |
+
"roc_auc": 0.77,
|
| 52 |
+
"average_precision": 0.7083413072873412
|
| 53 |
+
},
|
| 54 |
+
"calibration": {
|
| 55 |
+
"brier_score": 0.20820516360342,
|
| 56 |
+
"ece_10": 0.13791082
|
| 57 |
+
}
|
| 58 |
+
}
|
| 59 |
+
},
|
| 60 |
+
"test_bootstrap_ci_95": {
|
| 61 |
+
"accuracy": {
|
| 62 |
+
"low": 0.58,
|
| 63 |
+
"median": 0.7,
|
| 64 |
+
"high": 0.82,
|
| 65 |
+
"n_boot_valid": 2000.0
|
| 66 |
+
},
|
| 67 |
+
"precision": {
|
| 68 |
+
"low": 0.40625,
|
| 69 |
+
"median": 0.5925925925925926,
|
| 70 |
+
"high": 0.7666666666666667,
|
| 71 |
+
"n_boot_valid": 2000.0
|
| 72 |
+
},
|
| 73 |
+
"recall": {
|
| 74 |
+
"low": 0.6666666666666666,
|
| 75 |
+
"median": 0.8571428571428571,
|
| 76 |
+
"high": 1.0,
|
| 77 |
+
"n_boot_valid": 2000.0
|
| 78 |
+
},
|
| 79 |
+
"specificity": {
|
| 80 |
+
"low": 0.4230769230769231,
|
| 81 |
+
"median": 0.6,
|
| 82 |
+
"high": 0.7812839673913041,
|
| 83 |
+
"n_boot_valid": 2000.0
|
| 84 |
+
},
|
| 85 |
+
"f1": {
|
| 86 |
+
"low": 0.5238095238095238,
|
| 87 |
+
"median": 0.6938775510204083,
|
| 88 |
+
"high": 0.8275862068965517,
|
| 89 |
+
"n_boot_valid": 2000.0
|
| 90 |
+
},
|
| 91 |
+
"balanced_accuracy": {
|
| 92 |
+
"low": 0.6022399475524476,
|
| 93 |
+
"median": 0.7256944444444444,
|
| 94 |
+
"high": 0.8461538461538461,
|
| 95 |
+
"n_boot_valid": 2000.0
|
| 96 |
+
},
|
| 97 |
+
"roc_auc": {
|
| 98 |
+
"low": 0.6217830882352942,
|
| 99 |
+
"median": 0.7727272727272727,
|
| 100 |
+
"high": 0.8961038961038961,
|
| 101 |
+
"n_boot_valid": 2000.0
|
| 102 |
+
},
|
| 103 |
+
"average_precision": {
|
| 104 |
+
"low": 0.4901425018020803,
|
| 105 |
+
"median": 0.7269477209578791,
|
| 106 |
+
"high": 0.8890312652768458,
|
| 107 |
+
"n_boot_valid": 2000.0
|
| 108 |
+
},
|
| 109 |
+
"brier_score": {
|
| 110 |
+
"low": 0.17245735017684147,
|
| 111 |
+
"median": 0.20906492733554,
|
| 112 |
+
"high": 0.24647625554518948,
|
| 113 |
+
"n_boot_valid": 2000.0
|
| 114 |
+
},
|
| 115 |
+
"ece_10": {
|
| 116 |
+
"low": 0.07738553149999998,
|
| 117 |
+
"median": 0.16508797,
|
| 118 |
+
"high": 0.26492573599999997,
|
| 119 |
+
"n_boot_valid": 2000.0
|
| 120 |
+
}
|
| 121 |
+
},
|
| 122 |
+
"subgroup_metrics_test": {
|
| 123 |
+
"true_label_name": [
|
| 124 |
+
{
|
| 125 |
+
"group": "tp53_mutated",
|
| 126 |
+
"n": 20.0,
|
| 127 |
+
"threshold_metrics": {
|
| 128 |
+
"n": 20.0,
|
| 129 |
+
"positive_rate": 1.0,
|
| 130 |
+
"accuracy": 0.85,
|
| 131 |
+
"precision": 1.0,
|
| 132 |
+
"recall": 0.85,
|
| 133 |
+
"specificity": 0.0,
|
| 134 |
+
"f1": 0.9189189189189189,
|
| 135 |
+
"balanced_accuracy": 0.425
|
| 136 |
+
},
|
| 137 |
+
"rank_metrics": {
|
| 138 |
+
"roc_auc": null,
|
| 139 |
+
"average_precision": null
|
| 140 |
+
},
|
| 141 |
+
"calibration": {
|
| 142 |
+
"brier_score": 0.3382333524976999,
|
| 143 |
+
"ece_10": 0.5748137999999999
|
| 144 |
+
}
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"group": "tp53_wildtype",
|
| 148 |
+
"n": 30.0,
|
| 149 |
+
"threshold_metrics": {
|
| 150 |
+
"n": 30.0,
|
| 151 |
+
"positive_rate": 0.0,
|
| 152 |
+
"accuracy": 0.6,
|
| 153 |
+
"precision": 0.0,
|
| 154 |
+
"recall": 0.0,
|
| 155 |
+
"specificity": 0.6,
|
| 156 |
+
"f1": 0.0,
|
| 157 |
+
"balanced_accuracy": 0.3
|
| 158 |
+
},
|
| 159 |
+
"rank_metrics": {
|
| 160 |
+
"roc_auc": null,
|
| 161 |
+
"average_precision": null
|
| 162 |
+
},
|
| 163 |
+
"calibration": {
|
| 164 |
+
"brier_score": 0.12151970434056666,
|
| 165 |
+
"ece_10": 0.3404002333333333
|
| 166 |
+
}
|
| 167 |
+
}
|
| 168 |
+
],
|
| 169 |
+
"n_tiles_bin": [
|
| 170 |
+
{
|
| 171 |
+
"group": "351-450",
|
| 172 |
+
"n": 20.0,
|
| 173 |
+
"threshold_metrics": {
|
| 174 |
+
"n": 20.0,
|
| 175 |
+
"positive_rate": 1.0,
|
| 176 |
+
"accuracy": 0.85,
|
| 177 |
+
"precision": 1.0,
|
| 178 |
+
"recall": 0.85,
|
| 179 |
+
"specificity": 0.0,
|
| 180 |
+
"f1": 0.9189189189189189,
|
| 181 |
+
"balanced_accuracy": 0.425
|
| 182 |
+
},
|
| 183 |
+
"rank_metrics": {
|
| 184 |
+
"roc_auc": null,
|
| 185 |
+
"average_precision": null
|
| 186 |
+
},
|
| 187 |
+
"calibration": {
|
| 188 |
+
"brier_score": 0.3382333524976999,
|
| 189 |
+
"ece_10": 0.5748137999999999
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"group": "<=350",
|
| 194 |
+
"n": 30.0,
|
| 195 |
+
"threshold_metrics": {
|
| 196 |
+
"n": 30.0,
|
| 197 |
+
"positive_rate": 0.0,
|
| 198 |
+
"accuracy": 0.6,
|
| 199 |
+
"precision": 0.0,
|
| 200 |
+
"recall": 0.0,
|
| 201 |
+
"specificity": 0.6,
|
| 202 |
+
"f1": 0.0,
|
| 203 |
+
"balanced_accuracy": 0.3
|
| 204 |
+
},
|
| 205 |
+
"rank_metrics": {
|
| 206 |
+
"roc_auc": null,
|
| 207 |
+
"average_precision": null
|
| 208 |
+
},
|
| 209 |
+
"calibration": {
|
| 210 |
+
"brier_score": 0.12151970434056666,
|
| 211 |
+
"ece_10": 0.3404002333333333
|
| 212 |
+
}
|
| 213 |
+
}
|
| 214 |
+
]
|
| 215 |
+
},
|
| 216 |
+
"model_card": {
|
| 217 |
+
"model_name": "TP53 Path Foundation + Logistic Head",
|
| 218 |
+
"model_version": "pathfoundation_tp53_200_platt",
|
| 219 |
+
"cohort": "TCGA-BRCA primary-slide cohort (train100/val50/test50)",
|
| 220 |
+
"intended_use": "Research-only TP53 risk support from WSI; not standalone diagnosis.",
|
| 221 |
+
"limitations": [
|
| 222 |
+
"Retrospective single-cohort benchmark",
|
| 223 |
+
"Threshold locked from validation split"
|
| 224 |
+
]
|
| 225 |
+
},
|
| 226 |
+
"mdt_handoff_summary": {
|
| 227 |
+
"selected_threshold": 0.338,
|
| 228 |
+
"test_ece_10": 0.13791082,
|
| 229 |
+
"test_recall_ci_low": 0.6666666666666666
|
| 230 |
+
},
|
| 231 |
+
"mdt_handoff_payload_example": {
|
| 232 |
+
"overrides": {
|
| 233 |
+
"diagnosticore": {
|
| 234 |
+
"source_service": "diagnosticore-service",
|
| 235 |
+
"target": "tp53_mutation",
|
| 236 |
+
"tp53_probability": 0.0,
|
| 237 |
+
"threshold": 0.338,
|
| 238 |
+
"predicted_label": "tp53_wildtype",
|
| 239 |
+
"model_version": "pathfoundation_tp53_200_platt",
|
| 240 |
+
"is_confirmed_genomic_test": false,
|
| 241 |
+
"model_card": {
|
| 242 |
+
"model_name": "TP53 Path Foundation + Logistic Head",
|
| 243 |
+
"model_version": "pathfoundation_tp53_200_platt",
|
| 244 |
+
"cohort": "TCGA-BRCA primary-slide cohort (train100/val50/test50)",
|
| 245 |
+
"intended_use": "Research-only TP53 risk support from WSI; not standalone diagnosis.",
|
| 246 |
+
"limitations": [
|
| 247 |
+
"Retrospective single-cohort benchmark",
|
| 248 |
+
"Threshold locked from validation split"
|
| 249 |
+
]
|
| 250 |
+
},
|
| 251 |
+
"locked_threshold_report": {
|
| 252 |
+
"artifact_type": "tp53_locked_threshold_report_v1",
|
| 253 |
+
"selected_threshold": 0.338,
|
| 254 |
+
"test_ece_10": 0.13791082,
|
| 255 |
+
"test_recall_ci_low": 0.6666666666666666
|
| 256 |
+
},
|
| 257 |
+
"locked_threshold_report_uri": "/Users/faith/Desktop/Voxelomics-offline/backend/diagnosticore-service/output/pathfoundation_tp53_200/tp53_clinical_report_pathfoundation_platt.json"
|
| 258 |
+
}
|
| 259 |
+
}
|
| 260 |
+
}
|
| 261 |
+
}
|