Naloga #188
Avtor:Daniel Ion
Težavnost
Vaš najboljši rezultat
N/A
SafeDrive Technologies, pionirsko podjetje na področju avtomobilske varnosti, razvija inteligenten sistem za preprečevanje nesreč za sodobna vozila. Zaradi naraščajočega števila incidentov, ki jih povzročajo pregrevanje in uhajanje plina, podjetje potrebuje Fire Distinguisher – sistem AI, ki je sposoben v realnem času zaznati nevarne anomalije in jih pravilno klasificirati.
Vi ste glavni inženir strojnega učenja. Vaša naloga: zgraditi sistem za zaznavanje, ki lahko rešuje življenja.
Podatki prihajajo iz senzorjev, nameščenih v eksperimentalnih vozilih, zbranih v intervalih 1 sekunde:
id: ID, povezan z zapisomgas_raw: Surova koncentracija zaznanega plinatemp_c: Temperatura v stopinjah Celzijaflame: Binarni senzor plamena (0 = ni prisoten, 1 = prisoten)gas_avg: Drseče povprečje koncentracije plinatemp_avg: Drseče povprečje temperaturedGas: Stopnja spremembe plinadTemp: Stopnja spremembe temperaturesensor_noise: Šum, ki ga uvaja senzortimestamp_ms: Unix časovni žig v milisekundahsensor_id: ID senzorja (S001-S005)battery_level: Raven baterije senzorjavehicle_speed: Hitrost vozilaweather_condition: Vremenske razmere (sunny, rainy, cloudy, foggy)gas_sensor_drift: Drift senzorja plinaambient_temp: Temperatura okolicelabel: Vrsta nevarnosti
train.csv: Učni podatki z vsemi stolpci (vključno z label)test.csv: Testni podatki brez stolpca labelVarnostna ekipa želi razumeti porazdelitev in značilnosti nevarnosti v učnih podatkih.
Vaša naloga: Za train.csv izračunajte naslednjih 12 statistik:
Izhod: 12 numeričnih vrednosti (4 odstotki + 4 povprečne temperature + 4 povprečne koncentracije plina).
Primer: Za NORMAL: 45.32 % odčitkov, povprečna temperatura 32.5 °C, povprečni plin 245.3
Varnostna ekipa želi identificirati nenormalne odčitke, ki bi lahko kazali na nevarne situacije. Normalni odčitki tvorijo vzorec v prostoru značilk (features) — vaša naloga je izmeriti, kako daleč je vsak odčitek iz testa od tega vzorca.
1. Izberite najpomembnejše značilke (features)
NORMAL=0, GAS_LEAK=1, OVERHEAT=2, FIRE=3)2. Pripravite podatke
3. Definirajte profil NORMAL
label == "NORMAL" iz train, da določite, kaj pomeni "normalno vedenje"4. Izračunajte rezultat anomalije
d = sqrt((x - mu)^T * Sigma^(-1) * (x - mu))
mu = vektorsko povprečje zapisov NORMALSigma = kovariančna matrika zapisov NORMALSigma_reg = Sigma + I * 1e-6, kjer je I identititna matrikaIzhod: Rezultat anomalije za vsak ID iz test.csv.
Primer:
2,5234,8.922,6567,1.232,7891,14.45Namig: V Pythonu:
scipy.spatial.distance.mahalanobis()ali ročni izračun z numpy.
Pridobljeni surovi rezultat ekipi na terenu ni enostavno razumljiv. Pretvorite ga v kategorije tveganja (LOW/MEDIUM/HIGH) z uporabo pragov na podlagi zgodovinskih podatkov.
1. Izračunajte prage na podlagi train
p33 in p662. Klasificirajte vsak odčitek iz testa
| Pogoj | Stopnja tveganja | Interpretacija |
|---|---|---|
d < p33 | LOW | Skoraj normalno vedenje |
p33 ≤ d < p66 | MEDIUM | Rahla anomalija |
d ≥ p66 | HIGH | Znatna anomalija |
Izhod: Stopnja tveganja za vsak ID iz test.csv.
Primer:
3,5234,HIGH3,6567,LOW3,7891,HIGHCORE MISSION! To so možgani sistema Fire Distinguisher. Vsako sekundo na stotine vozil oddaja podatke, vaš sistem pa se mora v trenutku odločiti: je vse normalno ali obstaja nevarnost? Napaka pri zaznavanju požara lahko stane življenja. SafeDrive računa na vas, da zgradite čim bolj natančen klasifikator.
Vaša naloga: Za vsak zapis v test.csv:
label_name (NORMAL / GAS_LEAK / OVERHEAT / FIRE)Izhod: Napovedana oznaka (NORMAL, GAS_LEAK, OVERHEAT ali FIRE) za vsak odčitek iz testa.
| Podnaloga | Točke | Kriterij |
|---|---|---|
| 1 | 20 | Vse vrednosti pravilne |
| 2 | 15 | Sorazmerno z odstotkom pravilnih rezultatov (toleranca ±0.05) |
| 3 | 15 | Sorazmerno z odstotkom pravilnih stopenj tveganja |
| 4 | 50 | F1-Score Weighted Multi-Class: • F1 ≥ 0.90 → 50 točk • F1 < 0.60 → 0 točk • Vmesne vrednosti → linearno. |
Končni rezultat: največ 100 točk.
submission.csv)Struktura: subtaskID,datapointID,answer
| subtaskID | datapointID | answer |
|---|---|---|
| 1 | 1-12 | [Vrednosti statistik] |
| 2 | [ID iz test.csv] | [Rezultat anomalije: npr. 8.92] |
| 3 | [ID iz test.csv] | [Stopnja tveganja: LOW/MEDIUM/HIGH] |
| 4 | [ID iz test.csv] | [Oznaka: NORMAL/GAS_LEAK/OVERHEAT/FIRE] |
Podrobnosti:
Podnaloga 1: 12 vrstic s fiksnimi statistikami
Podnaloga 2: N vrstic
id iz test.csvPodnaloga 3: N vrstic
id iz test.csvLOW, MEDIUM ali HIGH)Podnaloga 4: N vrstic
id iz test.csvNORMAL, GAS_LEAK, OVERHEAT, FIRE)