Autor: Mihai Nan
Pentru această problemă trebuie să implementați un model de învățare automată pentru a prezice valoarea câmpului Status utilizând un set de date disponibil, care conține informații despre pacienți. Setul de date este organizat într-un fișier CSV care include diverse trăsături (features), iar evaluarea modelului se va face pe baza preciziei pentru clasa Dead.
Setul de date conține următoarele câmpuri:
Pentru primele subtasks, va trebui să încărcați setul de date și să efectuați analize statistice pe test.csv.
Clasificați funcția renală pentru fiecare pacient din setul de testare pe baza valorii GFR:
Normal dacă GFR >= 90Mildly Decreased dacă 60 <= GFR < 90Calculați cuartilele valorilor din coloana Serum Creatinine (Q1, Q2, Q3) pentru setul de date de antrenare și clasificați pacienții din setul de date de testare în functie de următoarele:
Very Low dacă Serum Creatinine <= Q1Low dacă Q1 < Serum Creatinine <= Q2High dacă Q2 < Serum Creatinine <= Q3Very High dacă Serum Creatinine > Q3Determinarea valorii BMI astfel:
Numărul de pacienți din train care se află în același T Stage ca pacientul din test.
Construiți un model de ML pentru a prezice Status (Dead sau Alive) în funcție de trăsături. Evaluarea se face pe baza preciziei pentru clasa Dead.
Metrica de evaluare este precizia pentru clasa Dead:
Scorul este acordat în funcție de valoarea precision (weighted) obținută de model:
| Interval precision | Punctaj |
|---|---|
| < 0.60 | 0 |
| 0.60 – 0.69 | 10 |
| 0.70 – 0.74 | 20 |
| 0.75 – 0.79 | 30 |
| 0.80 – 0.84 | 40 |
| ≥ 0.85 | 60 |
unde:
DeadDead incorectStatus.sample_output pentru testare locală oferă 5 puncte.Fișierul submission.csv trebuie să conțină rezultatele tuturor celor 5 subtasks pentru fiecare rând din setul test.
Fiecare rând din test generează 5 linii în fișier, câte una pentru fiecare subtask.
Structura fișierului:
subtaskID, datapointID, answer
Semnificația coloanelor:
Normal / Mildly Decreased / DecreasedVery Low / Low / High / Very High0 sau 11 dacă modelul prezice Dead , 0 dacă prezice AliveExemplu pentru un singur pacient cu ID 3220:
subtaskID datapointID answer
1 3220 Normal
2 3220 Low
3 3220 0
4 3220 5
5 3220 1