|
Download README.md from lustachowicz/radar-sinic-open: direct link, hf CLI and curl.
- Browser
- Download file 3.23 kB
-
https://huggingface.co/lustachowicz/radar-sinic-open/resolve/main/README.md
- Command line
-
hf download hf://lustachowicz/radar-sinic-open/README.md
-
curl -L -o README.md https://huggingface.co/lustachowicz/radar-sinic-open/resolve/main/README.md
3.23 kB
| library_name: lightgbm | |
| license: mit | |
| tags: | |
| - tabular-classification | |
| - remote-sensing | |
| - sentinel-2 | |
| - cyanobacteria | |
| language: | |
| - pl | |
| # Radar Sinic (model otwarty): ryzyko zakwitu sinic z Sentinel-2 | |
| Modele LightGBM przewidujące, czy na kąpielisku wystąpią sinice (dziś, jutro, w ciągu 3 dni), | |
| wyłącznie z dwóch cech zdjęcia Sentinel-2 L2A (wycinek 2 x 2 km wokół kąpieliska): | |
| - `s2_ndci_p90` - 90. percentyl NDCI = (B5 - B4) / (B5 + B4) na pikselach wody: jak zielona jest woda; | |
| - `s2_scum_frac` - odsetek pikseli wody z kożuchem (FVI = (B8 - B4) / (B8 + B4) > 0,2 i B8 > 0,03). | |
| Cechy liczy `model/features.py` projektu | |
| „Radar Sinic” (Analiza Danych Przestrzennych). Etykieta uczenia: oceny wody sanepidu | |
| (zamknięcia kąpielisk z powodu zakwitu sinic). | |
| - Walidacja „w przód”: uczenie na sezonach 2023–2025, test na sezonie 2026. | |
| - Pliki: `model_<cel>_open_S2.txt`, cele `y_cyano_0` (dziś), `y_cyano_1` (jutro), `y_cyano_3d` (3 dni). | |
| ## Użycie | |
| ```python | |
| import lightgbm as lgb | |
| from huggingface_hub import hf_hub_download | |
| path = hf_hub_download("lustachowicz/radar-sinic-open", "model_y_cyano_0_open_S2.txt") | |
| model = lgb.Booster(model_file=path) | |
| p = model.predict([[0.12, 0.03]]) # s2_ndci_p90, s2_scum_frac | |
| ``` | |
| ## Ograniczenia | |
| - Słabszy od rankingu „historia” (kąpieliska z największą liczbą zamknięć w poprzednich latach) - | |
| tabela niżej. | |
| - Bez bezchmurnego zdjęcia (ostatnie 10 dni) cechy są puste - model widzi tylko brak danych. | |
| - Poza sezonem kąpielowym może dawać fałszywe alarmy (zakwity innych glonów wyglądają podobnie). | |
| - Etykieta sanepidu jest rzadka i „post factum”: zakwity, których nikt nie zbadał, nie są w danych. | |
| - Model nie zastępuje komunikatów sanepidu. | |
| ## Wyniki (raport z treningu) | |
| # Model otwarty: tylko Sentinel-2 | |
| Cechy (2): `s2_ndci_p90`, `s2_scum_frac`. Sanepid tylko jako etykieta. Uczenie: [2023, 2024, 2025], test: [2026], protokół jak w `train.py`. | |
| ## Cel: `y_cyano_0` | |
| 41901 wierszy testu, 590 z sinicami. 28 drzew, próg 0.04, ROC-AUC w CV 0.729. | |
| | Wariant | ROC-AUC | PR-AUC | precyzja | czułość | F1 | top 10 | top 20 | top 50 | | |
| |---|---|---|---|---|---|---|---|---| | |
| | losowo | 0.496 | 0.014 | – | – | – | 3% | 6% | 11% | | |
| | historia | 0.881 | 0.294 | – | – | – | 35% | 42% | 60% | | |
| | open: S2 | 0.82 | 0.094 | 0.077 | 0.425 | 0.13 | 18% | 28% | 44% | | |
| ## Cel: `y_cyano_1` | |
| 41305 wierszy testu, 587 z sinicami. 17 drzew, próg 0.02, ROC-AUC w CV 0.708. | |
| | Wariant | ROC-AUC | PR-AUC | precyzja | czułość | F1 | top 10 | top 20 | top 50 | | |
| |---|---|---|---|---|---|---|---|---| | |
| | losowo | 0.501 | 0.015 | – | – | – | 3% | 6% | 12% | | |
| | historia | 0.881 | 0.294 | – | – | – | 35% | 42% | 60% | | |
| | open: S2 | 0.817 | 0.103 | 0.052 | 0.678 | 0.097 | 21% | 27% | 48% | | |
| ## Cel: `y_cyano_3d` | |
| 41305 wierszy testu, 763 z sinicami. 31 drzew, próg 0.04, ROC-AUC w CV 0.679. | |
| | Wariant | ROC-AUC | PR-AUC | precyzja | czułość | F1 | top 10 | top 20 | top 50 | | |
| |---|---|---|---|---|---|---|---|---| | |
| | losowo | 0.507 | 0.019 | – | – | – | 3% | 5% | 11% | | |
| | historia | 0.874 | 0.277 | – | – | – | 29% | 38% | 57% | | |
| | open: S2 | 0.777 | 0.09 | 0.079 | 0.515 | 0.137 | 16% | 23% | 41% | | |