1.7 KiB
1.7 KiB
Odpowiedź na krytykę — iteracja 2
| Uwaga z przeglądu | Zmiana | Dowód regresji |
|---|---|---|
| Mapa cylindrów i dropdown nadpisywały sobie stan | oba widgety korzystają z jednego klucza session state; kafelki ustawiają go callbackiem | test_cylinder_grid_and_detail_selector_share_state |
Status WYMAGA WERYFIKACJI był nieosiągalny |
status zależy bezpośrednio od label/severity; unknown bez nazwanej usterki ma dedykowany status |
test_unknown_only_engine_requires_verification |
| Engine Health 0–100 był arbitralny | liczba została usunięta; UI pokazuje najwyższe rzeczywiste severity i porządkowy triage | testy explainability + smoke UI |
| OOD otrzymywał sztuczny confidence 50–99% | score OOD jest NaN; UI nazywa pozostałe wartości score modelu i wyjaśnia brak kalibracji |
test_diagnostics_are_complete_for_the_application |
| Globalny próg OOD mógł reagować na ogólny szum jednostki | override wymaga 7.25 mV i 2.5× mediany anomalii własnego silnika | test_globally_noisy_engine_is_not_treated_as_isolated_ood |
| Stare CSV wyglądały jak finalne metryki | artefakty przeniesiono do archive/legacy_experiments/; skrypty mają nagłówki statusu |
kontrola struktury repo + README archiwum |
| Docstring finalnego modelu nie opisywał faktycznych cech | opis wskazuje signed/absolute deviation, ratio delta i statystyki | final_pipeline.py |
Po zmianie OOD ponownie wykonano pięć seedów grouped CV dla clean i masked 5%. Wyniki pozostały bez zmian:
- clean: Macro F1
0.9811, severity0.9298, Raw Score0.9683, - masked 5%: Macro F1
0.9829, severity0.9333, Raw Score0.9705.
Pełny pakiet po iteracji: 32/32 testów oraz poprawny healthcheck Streamlit ok.