v1/models.json
| 1 | { |
| 2 | "version": "v1", |
| 3 | "display": "v1.0", |
| 4 | "description": "Classical ML models trained with cross-battery group split on 12 scalar features. Legacy baseline.", |
| 5 | "split_strategy": "cross-battery group split (80/20 batteries)", |
| 6 | "features": 12, |
| 7 | "feature_set": [ |
| 8 | "cycle_number", |
| 9 | "ambient_temperature", |
| 10 | "peak_voltage", |
| 11 | "min_voltage", |
| 12 | "voltage_range", |
| 13 | "avg_current", |
| 14 | "avg_temp", |
| 15 | "temp_rise", |
| 16 | "cycle_duration", |
| 17 | "Re", |
| 18 | "Rct", |
| 19 | "delta_capacity" |
| 20 | ], |
| 21 | "dataset": "NASA PCoE Li-ion 18650 (30 batteries, 2678 cycles)", |
| 22 | "default_model": "best_ensemble", |
| 23 | "models": { |
| 24 | "ridge": { |
| 25 | "display_name": "Ridge Regression", |
| 26 | "family": "classical", |
| 27 | "algorithm": "Ridge", |
| 28 | "version": "1.0", |
| 29 | "r2": 0.72, |
| 30 | "mae": 5.57, |
| 31 | "requires_scaling": true, |
| 32 | "file": "models/classical/ridge.joblib", |
| 33 | "sha256": "ad1bc4a9e856ef5e0ef27367dbb73d704a2a61a22b2f79543ea9528a14539930", |
| 34 | "bytes": 649 |
| 35 | }, |
| 36 | "lasso": { |
| 37 | "display_name": "Lasso", |
| 38 | "family": "classical", |
| 39 | "algorithm": "Lasso", |
| 40 | "version": "1.0", |
| 41 | "r2": 0.52, |
| 42 | "mae": 5.59, |
| 43 | "requires_scaling": true, |
| 44 | "file": "models/classical/lasso.joblib", |
| 45 | "sha256": "eb91ca21c6dad3cee731eb50aadbf133e99db0602b1a94c31550ffc6a33205d1", |
| 46 | "bytes": 728 |
| 47 | }, |
| 48 | "elasticnet": { |
| 49 | "display_name": "ElasticNet", |
| 50 | "family": "classical", |
| 51 | "algorithm": "ElasticNet", |
| 52 | "version": "1.0", |
| 53 | "r2": 0.52, |
| 54 | "mae": 5.59, |
| 55 | "requires_scaling": true, |
| 56 | "file": "models/classical/elasticnet.joblib", |
| 57 | "sha256": "24613abf048daf5a603abd6f10e7eb00929740e30846e191fd76edc47055bfc8", |
| 58 | "bytes": 744 |
| 59 | }, |
| 60 | "knn_k5": { |
| 61 | "display_name": "KNN (k=5)", |
| 62 | "family": "classical", |
| 63 | "algorithm": "KNeighborsRegressor", |
| 64 | "version": "1.0", |
| 65 | "r2": 0.72, |
| 66 | "mae": 2.4, |
| 67 | "requires_scaling": true, |
| 68 | "file": "models/classical/knn_k5.joblib", |
| 69 | "sha256": "5225b27b7ee97fe2ddeb75d87cd6356680868eef48dd4ad6dc2c36774db9de8b", |
| 70 | "bytes": 479686 |
| 71 | }, |
| 72 | "knn_k10": { |
| 73 | "display_name": "KNN (k=10)", |
| 74 | "family": "classical", |
| 75 | "algorithm": "KNeighborsRegressor", |
| 76 | "version": "1.0", |
| 77 | "r2": 0.724, |
| 78 | "mae": 2.69, |
| 79 | "requires_scaling": true, |
| 80 | "file": "models/classical/knn_k10.joblib", |
| 81 | "sha256": "f2e7b020bddac3139111abaf338a72e491c6522c8ae7b222866a80c8c3d7c5e1", |
| 82 | "bytes": 479686 |
| 83 | }, |
| 84 | "knn_k20": { |
| 85 | "display_name": "KNN (k=20)", |
| 86 | "family": "classical", |
| 87 | "algorithm": "KNeighborsRegressor", |
| 88 | "version": "1.0", |
| 89 | "r2": 0.717, |
| 90 | "mae": 3.19, |
| 91 | "requires_scaling": true, |
| 92 | "file": "models/classical/knn_k20.joblib", |
| 93 | "sha256": "4d1a2f797b1ab0f89e68898595ac3c5407e3afa84b8c56a107800da7ce7ee0d8", |
| 94 | "bytes": 479686 |
| 95 | }, |
| 96 | "svr": { |
| 97 | "display_name": "SVR (RBF)", |
| 98 | "family": "classical", |
| 99 | "algorithm": "SVR", |
| 100 | "version": "1.0", |
| 101 | "r2": 0.805, |
| 102 | "mae": 7.56, |
| 103 | "requires_scaling": true, |
| 104 | "file": "models/classical/svr.joblib", |
| 105 | "sha256": "698b977e9112e961e2421b7ce0161e7cad1c8a8f8e576c2a418ef0345086c6de", |
| 106 | "bytes": 210644 |
| 107 | }, |
| 108 | "random_forest": { |
| 109 | "display_name": "Random Forest", |
| 110 | "family": "classical", |
| 111 | "algorithm": "RandomForestRegressor", |
| 112 | "version": "1.0", |
| 113 | "r2": 0.957, |
| 114 | "mae": 4.78, |
| 115 | "requires_scaling": false, |
| 116 | "file": "models/classical/random_forest.joblib", |
| 117 | "sha256": "9b48c7892b77a9e32232b1358df71207277702afa2ffd4a34f90b41dccc270f4", |
| 118 | "bytes": 98519665 |
| 119 | }, |
| 120 | "xgboost": { |
| 121 | "display_name": "XGBoost", |
| 122 | "family": "classical", |
| 123 | "algorithm": "XGBRegressor", |
| 124 | "version": "1.0", |
| 125 | "r2": 0.847, |
| 126 | "mae": 8.06, |
| 127 | "requires_scaling": false, |
| 128 | "file": "models/classical/xgboost.joblib", |
| 129 | "sha256": "e17c175e213b7d92789f63c02a96a0d65aecc66ef07d1406a78aef5afbaf392d", |
| 130 | "bytes": 1309971 |
| 131 | }, |
| 132 | "lightgbm": { |
| 133 | "display_name": "LightGBM", |
| 134 | "family": "classical", |
| 135 | "algorithm": "LGBMRegressor", |
| 136 | "version": "1.0", |
| 137 | "r2": 0.928, |
| 138 | "mae": 5.53, |
| 139 | "requires_scaling": false, |
| 140 | "file": "models/classical/lightgbm.joblib", |
| 141 | "sha256": "7e292179a2c5e62cdacb21e754ade346342394c9adb1d76be3430c091068d252", |
| 142 | "bytes": 552489 |
| 143 | }, |
| 144 | "best_ensemble": { |
| 145 | "display_name": "Best Ensemble (RF+XGB+LGB)", |
| 146 | "family": "ensemble", |
| 147 | "algorithm": "WeightedAverage", |
| 148 | "version": "1.0", |
| 149 | "r2": 0.886, |
| 150 | "mae": 3.89, |
| 151 | "requires_scaling": false, |
| 152 | "components": [ |
| 153 | "random_forest", |
| 154 | "xgboost", |
| 155 | "lightgbm" |
| 156 | ], |
| 157 | "file": null |
| 158 | } |
| 159 | }, |
| 160 | "scalers": { |
| 161 | "linear_scaler": "scalers/linear_scaler.joblib", |
| 162 | "sequence_scaler": "scalers/sequence_scaler.joblib" |
| 163 | }, |
| 164 | "champion": "random_forest", |
| 165 | "training_date": "2025-12-01", |
| 166 | "framework": [ |
| 167 | "scikit-learn", |
| 168 | "xgboost", |
| 169 | "lightgbm" |
| 170 | ], |
| 171 | "scaler_checksums": { |
| 172 | "linear_scaler": "070d6b4565d669c50aec414a8e37f38b85409e81c171f71fb23cb3a93de43378", |
| 173 | "sequence_scaler": "1fb23b358b2ee1746ecaca97539be6282dcd9209d0265b886b9fb9a578455c1e" |
| 174 | }, |
| 175 | "checksums": { |
| 176 | "models": { |
| 177 | "models/classical/elasticnet.joblib": "24613abf048daf5a603abd6f10e7eb00929740e30846e191fd76edc47055bfc8", |
| 178 | "models/classical/knn_k10.joblib": "f2e7b020bddac3139111abaf338a72e491c6522c8ae7b222866a80c8c3d7c5e1", |
| 179 | "models/classical/knn_k20.joblib": "4d1a2f797b1ab0f89e68898595ac3c5407e3afa84b8c56a107800da7ce7ee0d8", |
| 180 | "models/classical/knn_k5.joblib": "5225b27b7ee97fe2ddeb75d87cd6356680868eef48dd4ad6dc2c36774db9de8b", |
| 181 | "models/classical/lasso.joblib": "eb91ca21c6dad3cee731eb50aadbf133e99db0602b1a94c31550ffc6a33205d1", |
| 182 | "models/classical/lightgbm.joblib": "7e292179a2c5e62cdacb21e754ade346342394c9adb1d76be3430c091068d252", |
| 183 | "models/classical/lightgbm_best_params.joblib": "95c4ce7b35f4c2e82dfbee7c915334438e7b5a599b301a0e9ce01f234af6a138", |
| 184 | "models/classical/random_forest.joblib": "9b48c7892b77a9e32232b1358df71207277702afa2ffd4a34f90b41dccc270f4", |
| 185 | "models/classical/rf_classifier.joblib": "387b0fd81f5492f3721b9ea234e59b54e0775365aa422a032a88beb829c3e7b2", |
| 186 | "models/classical/ridge.joblib": "ad1bc4a9e856ef5e0ef27367dbb73d704a2a61a22b2f79543ea9528a14539930", |
| 187 | "models/classical/svr.joblib": "698b977e9112e961e2421b7ce0161e7cad1c8a8f8e576c2a418ef0345086c6de", |
| 188 | "models/classical/xgb_classifier.joblib": "d42de5f5f491271ea8155cffa82c72cbd7eb17df154fdd4fdaeb413fa8fb9ee2", |
| 189 | "models/classical/xgboost.joblib": "e17c175e213b7d92789f63c02a96a0d65aecc66ef07d1406a78aef5afbaf392d", |
| 190 | "models/classical/xgboost_best_params.joblib": "140456f00362a7b88bb8fd4de8f68f1e5d52b844eb94aae6da13ddae6e38b601", |
| 191 | "models/deep/attention_lstm.pt": "6f9f6b8e2b9d4794ad1a1452e33c5ec81a917472a6a98cb131d0523c22a82f8a", |
| 192 | "models/deep/batterygpt.pt": "16dd869d04bf7ef126489dfa3dc386b65dcaa0dc7823051139d6df8ed1ca8343", |
| 193 | "models/deep/bidirectional_lstm.pt": "3466feebff37d8c671bdeb4d4cf248fdbc04e7a10648f0d847e987ceb459b57a", |
| 194 | "models/deep/dynamic_graph_itransformer.keras": "6bbca626faeaa1472966659e9908be1ed4db0889c8668602be1fe2c4b143a338", |
| 195 | "models/deep/gru.pt": "2733aa85767d37fe22eb88989cdddf51de204b131f8b3a7feee5aa7c5af42024", |
| 196 | "models/deep/itransformer.keras": "5d47f6d088b4a7f453863188a05d77a8e1cc88326b88180e3f5831ee2da0dee6", |
| 197 | "models/deep/physics_itransformer.keras": "ebbeb7de88cec4bc8080ca03c76b0a0e74b0d9411f908bd58c4d924a044bb05c", |
| 198 | "models/deep/tft.pt": "ba2f16c8096cf19a0b03aec877fa86d8e63d4b47a292cf46dac8427157f3175d", |
| 199 | "models/deep/vae_lstm.pt": "01ca8499d57f012f5c903a52d780afacbe34195141cb752a6b77f64bf6c2dd55", |
| 200 | "models/deep/vanilla_lstm.pt": "59fcd7ed8c3d67705e1915e2948c450a6f368fbec078b5c77b06047dc19763f8" |
| 201 | }, |
| 202 | "scalers": { |
| 203 | "scalers/features_minmax.joblib": "b3f81de4e3f3253eefc5779fbc49f0350f261c303a6a7af68ee3a426199cc406", |
| 204 | "scalers/features_standard.joblib": "c150d07ade0a82aa151f906dae135ff7f9d96055667cf471d7f767d17b8d4555", |
| 205 | "scalers/linear_scaler.joblib": "070d6b4565d669c50aec414a8e37f38b85409e81c171f71fb23cb3a93de43378", |
| 206 | "scalers/sequence_scaler.joblib": "1fb23b358b2ee1746ecaca97539be6282dcd9209d0265b886b9fb9a578455c1e" |
| 207 | }, |
| 208 | "results": { |
| 209 | "results/classical_rul_results.csv": "8648784b058d52f1fc4877a43b4b6b4d0d88f852c2c22d9c83a06aa8e492c23d", |
| 210 | "results/classical_soh_results.csv": "1476ab4c0fd5320d54506664286ab7b87bb039bfe4c2ffbe0f86823633ec8041", |
| 211 | "results/dg_itransformer_results.json": "ec251c746c58329625ea51a50185ec2470e46476496e2819be55ddfdf0eb3ff2", |
| 212 | "results/ensemble_results.csv": "c2dbd24ac5b20b43e03312bef5aecb3efe0f9ef7dc276178ce619b25d6acae89", |
| 213 | "results/final_rankings.csv": "4384593f4435a7f99c5e9319fb0b7539f0e9816e83f7d63cb52ef97134ef0dd9", |
| 214 | "results/lstm_soh_results.csv": "bcec1411f1f3e5fe386e786f16cd640b94944f46091b0ca35a930108bb3b7e82", |
| 215 | "results/transformer_soh_results.csv": "6a203f57e83c4a1ae2086b132104c89b8c268a12ecfe436ea07094aacd9a6c39", |
| 216 | "results/unified_results.csv": "4384593f4435a7f99c5e9319fb0b7539f0e9816e83f7d63cb52ef97134ef0dd9", |
| 217 | "results/vae_lstm_results.json": "42718f18989aa7ccdee1ce136c3022c69843eed85e5a6265f4161c0995fafc51" |
| 218 | }, |
| 219 | "features": {}, |
| 220 | "figures": { |
| 221 | "figures/best_ensemble_prediction.png": "50796de89087cfdce1107659a3a7c2eb0afa64c27360db85954e8aec7cf9d626", |
| 222 | "figures/capacity_and_rul.png": "7f959be7175d1ec327791043e21b458e85704efdcd28b4367c85af8189f2464f", |
| 223 | "figures/capacity_distribution_by_temp.png": "330cef1f780e60781022b4de5df6c436a00cb273d34f468044d4e25dc0eafa14", |
| 224 | "figures/capacity_fade_all_batteries.png": "6648ac3c4fd69c353aff3193b2d033d8f2e4310e0294d373c05bfb887529c77c", |
| 225 | "figures/capacity_fade_by_temperature.png": "155954a71d58101924abe2d80bff60a56b4469643db016d0711176209be9b5b2", |
| 226 | "figures/capacity_fade_interactive.html": "e2abd1b2d8cf54e171313a5b9a5171024504fda5f3d2e9acf0f7dc51d6945a75", |
| 227 | "figures/ced_curves.png": "844eb2bb56fc9ff1cb1f83c16e7b26887b2877a7440ed557c866f6be0ebc2724", |
| 228 | "figures/classical_best_actual_vs_pred.png": "0cc3c98e2bdbedc59358f9279bb829e087fe617360c81b0f0bbccfec15372e47", |
| 229 | "figures/classical_best_residuals.png": "c870d1ad4bcb992de61934d6aa13c29a01bc2e878a499b21bf18d3ce73ade1e9", |
| 230 | "figures/classical_soh_comparison.png": "eb003dcfb2187f2f2b4b27150ec05ee5f5bf6c510c17b452001a2067bf57c8c8", |
| 231 | "figures/classification_confusion_matrices.png": "aa273d9a278bdd46776a8198771d089b813e441de0bcae5ca35d413e6cb9bd0b", |
| 232 | "figures/degradation_state_distribution.png": "cd56c91bee68ac8af3fae38fa3d66191fa1c12c41893792e0c0e7314026d95aa", |
| 233 | "figures/dg_itransformer_predictions.png": "2ed3c023d54631f410114715776e2aef1f4ef3596618b78417e24de87bd9314f", |
| 234 | "figures/dg_itransformer_training.png": "8493eb29923f7b90fd5e58076b628d53ae2ee97e004888b4bbd91534825c7843", |
| 235 | "figures/ensemble_comparison.png": "47848850e19011f3bcfefd812d241ad975da9adb70d920b178321e6eb545c0d4", |
| 236 | "figures/ensemble_weights.png": "a1b9e1be1855553f5f20b39ab97e0676859faea32140e8eec40af9346fe28ac1", |
| 237 | "figures/feature_correlation_heatmap.png": "4fca110021d7535da1c6d69853f2fd4e9ed3cdcc360cfb60917d28bfd4107fa2", |
| 238 | "figures/impedance_evolution.png": "b2589289d921fada36d10532fb1f91d3d1264142af4b21fb948f9823d7a584bf", |
| 239 | "figures/lstm_actual_vs_predicted.png": "54734cb01f1bd09160f86b3651b3a6880f5bd1d317baef0ad9301be6912d43fb", |
| 240 | "figures/lstm_training_curves.png": "66d0102d02409b59ec2c0bb8b9ad79fadc3860960278b75fa567905e6069ce74", |
| 241 | "figures/mc_dropout_uncertainty_lstm.png": "8ead85736e2ea8e8fa30d9463d4afd5c1dfefaa124c03f7e9b1ef603c5563e31", |
| 242 | "figures/radar_top6.png": "773072825ec89a283436abac3d49752702844ecd8c80b054584e74e52175c67f", |
| 243 | "figures/re_vs_rct_scatter.png": "3dd5a2c0ef78484a08fcc051236699106c148bdfb6a7d3aa0aac58d2ac3a6839", |
| 244 | "figures/shap_xgboost_soh.png": "46df87d18cfc5e95b939b18a779c446dc897a999f8ec58c3eb8b891796e66915", |
| 245 | "figures/soc_coulomb_counting_demo.png": "c63c6baca51effb37a89a7a84bf3faa81f52002ff032d1ec7cf0bcdf45bfd15e", |
| 246 | "figures/soh_degradation_trends.png": "56c131fbf98676e8f6611e30bf16a4f6065a311605235c442322a8f71d0fad8e", |
| 247 | "figures/soh_distribution.png": "7e3418411e17f22828d23127eb36f40fd19f633d9885950903c006f835db6003", |
| 248 | "figures/transformer_pt_training_curves.png": "57428057bf771dc5add14f335a018b206a383da5211a48b7423308c10880cae6", |
| 249 | "figures/transformer_tf_training_curves.png": "d210a17b965c2e013ab17dcb735c8ccc81c19db72aff11c2a0bce1189f471a3f", |
| 250 | "figures/unified_model_comparison.png": "d0aa5bc15e65da35fbdcc643478c8f3d813752407d77509951ad5a2ba13840e0", |
| 251 | "figures/vae_anomaly_detection.png": "7440d1088afd027ef81b7ef73f64b9d878b41a2369224ba27ed636a1906845f8", |
| 252 | "figures/vae_latent_umap.png": "5b5a86ba677705ac20aefa665bb78421a8201d8367fe5735946c1d33510a399b", |
| 253 | "figures/vae_lstm_prediction.png": "898b57fd9a7c57bd155056c3d6f72cce7a519b2550f8bd5c6e28675d0db36d14", |
| 254 | "figures/voltage_surface_3d.png": "2fc0d7449c0ab7dfa5599f96b3106100ef2c32c71230098d3fe101a133be94b3", |
| 255 | "figures/voltage_surface_3d_interactive.html": "7b354ed40d5962768dd7a5ba5d8f3453bcc197705bf2b3a4980ef80fa80603c7" |
| 256 | }, |
| 257 | "generated_at_utc": "2026-03-10T18:10:43.027870+00:00" |
| 258 | }, |
| 259 | "verification": { |
| 260 | "hash_algorithm": "sha256", |
| 261 | "required": true, |
| 262 | "last_verified_utc": "2026-03-10T18:10:43.027870+00:00" |
| 263 | } |
| 264 | } |
| 265 | |