logo
ALPHA
Competitions
thumbnail

Simulare OJIA 2

High-school
Romania
Individual

RO: A doua simulare a Olimpiadei Județene de Inteligență Artificială / EN: The second official simulation for the Romanian Regional Olympiad in Artificial Intelligence

Problems Communication Leaderboard Rules
Predicția statusului pacientuluiPredicția prețului unei case
TaskEditorial

Predicția statusului pacientului

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, fiecare cu semnificația respectivă:

  • Age: Vârsta pacientului.
  • Race: Rasa pacientului (ex: White, Other).
  • Marital Status: Starea civilă a pacientului (Married, Single, Divorced etc.).
  • T Stage: Stadiul tumorii, conform sistemului de stadializare TNM (exemplu: T1, T2, T3, T4).
  • N Stage: Gradul de afectare a ganglionilor limfatici (N0, N1, etc.).
  • 6th Stage: Stadiul cancerului conform clasificării TNM a celei de-a 6-a ediții.
  • differentiate: Gradul de diferențiere tumorală (Well differentiated, Moderately differentiated, Poorly differentiated).
  • Grade: Gradul histologic al tumorii (1, 2, 3 etc.).
  • A Stage: Clasificarea stadiului bolii (ex: Regional).
  • Tumor Size: Dimensiunea tumorii măsurată într-o unitate relevantă (poate conține valori lipsă).
  • BMI: Indicele de masă corporală al pacientului.
  • Heart Rate: Ritmul cardiac al pacientului.
  • Serum Creatinine: Nivelul seric de creatinină.
  • Uric Acid: Nivelul acidului uric din sânge.
  • Hemoglobin: Concentrația hemoglobinei în sânge.
  • GFR (Glomerular Filtration Rate): Rata de filtrare glomerulară, un indicator al funcției renale.
  • Serum Sodium: Concentrația de sodiu seric.
  • Serum Potassium: Concentrația de potasiu seric.
  • Serum Albumin: Nivelul albuminei serice.
  • Lactate: Concentrația lactatului în sânge.
  • Status: Starea pacientului, cu valori posibile „Dead” sau „Alive” (Câmpul țintă pentru predicție).

Tasku-ri

Pentru primele task-uri, va trebui să încărcați setul de date și să efectuați o serie de analize statistice pentru a înțelege mai bine dataset-ul cu care urmează să lucrați.

Subtask 1 (10 puncte)

Pentru fiecare pacient din setul de testare clasificați funcția renală în una dintre cele două categorii, pe baza valorii GFR (Glomerular Filtration Rate):

  • Normal dacă GFR >= 90
  • Mildly Decreased dacă 60 <= GFR < 90

Subtask 2 (10 puncte)

Folosiți setul de date de antrenare pentru a calcula cuartilele valorilor din coloana Serum Creatinine.

Quartilele sunt praguri statistice care împart distribuția valorilor într-un număr egal de părți:

  • Q1: valoarea sub care se încadrează 25% dintre valori

  • Q2: valoarea de mijloc (50% sub, 50% peste)

  • Q3: valoarea sub care se află 75% dintre observații

Pe baza acestor praguri, stabiliți pentru fiecare pacient din setul de testare unul din cele patru niveluri de risc:

  • Very Low – dacă Serum Creatinine <= Q1

  • Low– dacă Q1 < Serum Creatinine <= Q2

  • High – dacă Q2 < Serum Creatinine <= Q3

  • Very High – dacă Serum Creatinine > Q3

Subtask 3 (10 puncte)

Pe baza setului de antrenare, determinați valoarea medie a indicelui BMI. Apoi, pentru fiecare pacient din test, determinați dacă valoarea indicelui BMI este mai mare strict decât mediana. Pentru pacienții care au valoarea BMI mai mare decât mediana determinată pentru setul de antrenare vom scrie valoarea 1, iar pentru restul valoarea 0.

Subtask 4 (10 puncte)

Pentru fiecare pacient din setul de testare, determinați numărul de pacienți din setul de antrenare care se află în același stadiu tumoral (pe baza atributului T Stage) ca al acelui pacient.

Subtask 5 (60 puncte)

Scopul principal al acestui task este de a construi un model de învățare automată care să prezică starea pacientului (Status) în funcție de trăsăturile oferite. Evaluarea se va face pe baza preciziei modelului în predicția valorii pentru Dead (care reprezintă decesul pacientului).

Note despre setul de date:

  • Câmpul-țintă este Status, iar scopul este de a prezice dacă un pacient va fi „Dead” sau „Alive”.
  • Unele câmpuri, cum ar fi Tumor Size, BMI și Serum Potassium, sunt date numerice și pot fi utilizate direct de către algoritmii de învățare automată.
  • Este important de menționat că pentru câmpul Tumor Size putem avea valori lipsă (NaN), iar acest lucru trebuie tratat corespunzător.
  • Este posibil ca unele coloane să nu fie relevante pentru clasificare și trebuie identificate. Se recomandă analiza corelației dintre variabile și variabila țintă, precum și eliminarea celor cu aport scăzut sau redundante.
  • Anumite caracteristici pot conține valori extreme care ar putea afecta performanța modelului. Se recomandă utilizarea metodelor statistice (IQR, Z-score) sau vizualizări (boxplot, histogramă) pentru a detecta și trata aceste valori.

Criterii de evaluare

Metrica de evaluare folosită va fi precizia pentru clasa Dead. Veți evalua performanța modelului în predicția corectă a pacienților care vor deceda.

Notă

Dacă veți trimite sample_output, atunci veți primi 5 puncte.

Files

Train DataTest DataSample OutputStarter Kit

Submission

Make sure your source code produces the output you uploaded! Chosen submissions may be rerun with your source code after the competition to get the final score.

My submissions

Only submissions marked as final are counted for the complete leaderboard. Not choosing any final submissions will result in 0 points on this task.

Complete submission scores will be displayed after the competition ends