Analiza și clasificarea riscurilor și simptomelor Parkinson
Автор: Mihai Nan
Analiza și clasificarea riscurilor și simptomelor Parkinson
Context
Boala Parkinson este o afecțiune neurodegenerativă progresivă care afectează controlul mișcărilor și funcțiile cognitive. Ea apare frecvent la persoane de peste 60 de ani și se manifestă printr-o combinație de simptome motorii (tremor, rigiditate, bradikinezie, instabilitate posturală) și simptome non-motorii (tulburări de somn, constipație, depresie, probleme de vorbire).
Diagnosticul precoce și monitorizarea evoluției bolii sunt esențiale pentru a optimiza tratamentul și a îmbunătăți calitatea vieții pacienților. Inteligența Artificială permite analiza complexă a datelor clinice și stilului de viață pentru:
- identificarea factorilor de risc
- clasificarea pacienților
- estimarea progresiei bolii
Pentru rezolvarea acestei probleme veți avea la dispoziție două fișiere:
train.csv– conține toate variabilele, inclusivDiagnosis, pentru antrenarea modelelortest.csv– conține aceleași variabile, fără coloanaDiagnosis, și datele din acest fișier sunt folosite pentru generarea predicțiilor
Descrierea setului de date
| Column | DType | Descriere |
|---|---|---|
| PatientID | object | Identificator unic al pacientului |
| Age | int | Vârsta pacientului în ani |
| AgeGroup | int | Grup de vârstă discretizat (0–3) |
| AlcoholConsumption | float | Cantitatea de alcool consumată pe săptămână |
| BMI | float | Indicele de masă corporală |
| Bradykinesia | bool | Prezența bradikineziei (încetinirea mișcărilor) |
| CholesterolHDL | float | Nivelul colesterolului HDL („bun”) |
| CholesterolLDL | float | Nivelul colesterolului LDL („rău”) |
| CholesterolTotal | float | Colesterol total |
| CholesterolTriglycerides | float | Nivelul trigliceridelor |
| Constipation | bool | Pacientul suferă de constipație |
| Depression | int | Indicator de depresie (0 = absent, 1 = prezent) |
| Diabetes | int | Indicator de diabet (0 = absent, 1 = prezent) |
| DiastolicBP | int | Tensiunea arterială diastolică |
| DietQuality | float | Evaluarea calității dietei (scor numeric) |
| DoctorInCharge | object | Numele doctorului care monitorizează pacientul |
| DyslipidemiaIndex | float | Indice derivat din profilele lipidice |
| EducationLevel | int | Nivelul de educație (codificat numeric) |
| Ethnicity | int | Grup etnic (cod numeric) |
| EyeColor | object | Culoarea ochilor |
| FamilyHistoryParkinsons | int | Istoric familial de Parkinson (0/1) |
| FunctionalAssessment | float | Evaluarea funcțională generală |
| Gender | int | Gen (0 = feminin, 1 = masculin) |
| Hypertension | int | Hipertensiune arterială (0/1) |
| MeanBP | float | Presiune arterială medie, calculată din sistolică și diastolică |
| MoCA | float | Scor cognitive MoCA |
| PhysicalActivity | float | Nivelul activității fizice (ore/săptămână) |
| PosturalInstability | bool | Instabilitate posturală prezentă |
| Rigidity | bool | Rigiditate musculară prezentă |
| SleepDisorders | bool | Tulburări de somn prezente |
| SleepQuality | float | Scor calitate a somnului |
| Smoking | int | Indicator de fumat (0/1) |
| SpeechProblems | bool | Probleme de vorbire prezente |
| Stroke | int | Istoric de accident vascular cerebral (0/1) |
| SystolicBP | int | Tensiunea arterială sistolică |
| TraumaticBrainInjury | int | Istoric de traumă craniană (0/1) |
| Tremor | bool | Prezența tremorului |
| UPDRS | float | Scor unificat de evaluare a Parkinsonului |
| Diagnosis | int | 0 = sănătos, 1 = Parkinson |
Cerințe
Pentru această problemă aveți de rezolvat 3 task-uri.
Task 1 – Cardiometabolic Risk Score (20 puncte)
Calculați pentru fiecare pacient din setul de testare un scor de risc cardiovascular și metabolic pe baza coloanelor existente (Hypertension, Diabetes, BMI).
- Formula:
CardiometabolicRiskScore = (Hypertension == 1) + (Diabetes == 1) + (BMI > 30)
CardiometabolicRiskScore este un scor simplu care evaluează riscul cardiovascular și metabolic al pacientului.
Fiecare componentă adaugă un punct la scor:
-
Hipertensiune: dacă pacientul are tensiune arterială crescută, se adaugă 1 punct.
-
Diabet: dacă pacientul are diabet, se adaugă 1 punct.
-
BMI > 30: dacă indicele de masă corporală indică obezitate (BMI peste 30), se adaugă 1 punct.
-
Answerîn fișierul submisie va fi valoarea calculată numeric pentru fiecare pacient din setul de testare.
Task 2 – Lifestyle Risk Index (20 puncte)
Calculați un scor care evaluează riscul legat de stilul de viață pe baza coloanelor existente (Smoking, AlcoholConsumption, PhysicalActivity).
- Formula:
LifestyleRiskIndex = (Smoking == 1) + (AlcoholConsumption > 2) + (PhysicalActivity < 1)
LifestyleRiskIndex este un scor care evaluează riscul asociat stilului de viață al pacientului.
Fiecare componentă contribuie cu un punct la scor:
- Smoking: dacă pacientul fumează, se adaugă 1 punct.
- AlcoholConsumption > 2: dacă pacientul consumă mai mult de 2 unități de alcool pe săptămână, se adaugă 1 punct.
- PhysicalActivity < 1: dacă pacientul efectuează mai puțin de o oră de activitate fizică pe săptămână, se adaugă 1 punct.
Scorul final variază între 0 (stil de viață fără risc) și 3 (prezența tuturor factorilor de risc), oferind o măsură simplă a impactului stilului de viață asupra sănătății.
Task 3 – Clasificare Parkinson (60 puncte)
Construiți un model de clasificare care să prezică Diagnosis (0 = sănătos, 1 = Parkinson) pe baza tuturor informațiilor disponibile în train.csv. Puteți alege să folosiți toate informațiile din setul de antrenare pentru clasificarea modelului sau puteți selecta cele mai potrivite informații.
- Predicțiile pentru fiecare pacient din
test.csvtrebuie să fie sub formă 0/1. Answerîn fișierul de submit va fi0(sănătos) sau1(suferă de Parkinson) pentru fiecare pacient.
Formatul fișierului de submisie
Fișierul submission.csv trebuie să conțină:
PatientID- reprezintă ID-ul pacientului și este preluat din fișierultest.csv;subtaskIDpoate fi:Task1,Task2,Task3Answerreprezintă valoarea calculată pentru pacientul indicat prinPatientIDla task-ul indicat prindsubtaskID.
Evaluare
Pentru subtask-ul 3, punctajul este acordat în funcție de următoarele reguli:
- AUC ≥ 0.95 → 60 puncte
- AUC ≤ 0.70 → 0 puncte
- Intervalul dintre ele: punctaj proporțional
Pentru subtask-urile 1–2 se evaluează exact (prin comparare).