v1/models.json
13.2 KB · 265 lines · json Raw
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