Clasificarea bolilor pe baza simptomelor
作者: Mihai Nan
🩺 Clasificarea bolilor pe baza simptomelor
În domeniul sănătății, analiza automată a simptomelor poate accelera trierea pacienților și sprijină luarea deciziilor medicale. Ai la dispoziție un set de date complet sintetic, creat astfel încât să imite tipare reale de simptome și diagnostice, fără a utiliza informații reale despre pacienți.
Scopul tău este să construiești un sistem automat care poate prezice boala unui pacient pornind de la simptomele sale și de la câteva informații demografice.
🧬 Lista bolilor posibile
Modelul tău trebuie să poată identifica una dintre următoarele 10 de boli:
- Common Cold 🤧
- Influenza 🤒
- COVID-19 🦠
- Pneumonia 🫁
- Diabetes 🍬
- Hypertension 🩺
- Migraine 🤯
- Allergy 🌼
- Asthma 😤
- Heart Disease 💔
📁 Setul de date
Ai acces la două fișiere CSV:
- train.csv – conține înregistrări de pacienți și diagnosticele lor
- test.csv – conține pacienți pentru care trebuie prezis diagnosticul
Fiecare rând din train.csv are următoarele coloane:
Patient_ID– identificator unic al pacientuluiAge– vârsta pacientului (1–90)Gender– sexul pacientului (Male,Female,Other)Symptoms– listă cu 3–7 simptome separate prin virguleSymptom_Count– numărul de simptomeDisease– diagnosticul (una dintre cele 10 de boli posibile)
Exemplu:
Patient_ID,Age,Gender,Symptoms,Symptom_Count,Disease
P001,45,Female,"fever, cough, fatigue",3,Influenza
P002,67,Male,"chest pain, shortness of breath, dizziness",3,Heart Disease
P003,23,Female,"rash, itching, swelling",3,Allergy
Fiecare rând din test.csv are aceleași coloane, mai puțin diagnosticul:
Patient_ID,Age,Gender,Symptoms,Symptom_Count
T5001,34,Male,"fever, headache, sore throat",3
T5002,72,Female,"fatigue, weight loss, frequent urination",3
🧠 Task (100 puncte)
Construiește un model de clasificare care poate prezice boala pentru fiecare înregistrare din test.csv.
Predicțiile trebuie salvate într-un fișier submission.csv cu formatul:
Patient_ID,Disease
T5001,Common Cold
T5002,Diabetes
T5003,Migraine
unde:
Patient_ID– identificatorul unic al pacientuluiDisease– boala prezisă, care trebuie să fie una dintre cele 10 listate mai sus
📊 Evaluare
Predicțiile tale vor fi comparate cu diagnosticele reale. Se va calcula acuratețea modelului:
accuracy = numar_predicții_corecte / numar_total_predicții
Punctajul final este acordat după schema:
- accuracy ≥ 0.95 → 100 puncte
- accuracy ≤ 0.80 → 0 puncte
- Pentru valorile intermediare se acordă punctaj proporțional între 0 și 100.
🔐 Notă
Setul de date este 100% sintetic.