Klassificering af Kardiovaskulær sygdom: Klassificering af Kardiovaskulær sygdom
Oversat titel
Classification of Cardiovascular Disease
Forfattere
Kristensen, Daniel ; Reinholt, Tobias ; Holm, Mikkel Stouby ; Mahmoud, Salar ; Khorshid, Lanja Mozafar ; Vibæk, Mathilde
Semester
1. semester
Udgivelsesår
2024
Afleveret
2024-12-18
Antal sider
34
Resumé
Formålet med projektet er at udvikle og afprøve maskinlæringsmodeller, der kan klassificere, om patienter har hjerte-kar-sygdom (CVD) eller ej. Målet er at integrere modellen i et softwareværktøj til praktiserende læger, så patienter med øget risiko kan anbefales til nærmere udredning og dermed potentielt reducere sygdom og dødsfald. Udvælgelsen af datafelter byggede på kendte risikofaktorer for CVD, hvilket styrede, hvilke variabler der kom med i modellen. Vi lavede først en hurtig screening af seks klassifikatorer med særligt fokus på recall (andelen af syge, som systemet finder) og F1-score (en balance mellem recall og præcision). Tre metoder blev valgt til videre arbejde: Support Vector Machine (SVM), Random Forest og logistisk regression. Hver model fik finjusteret sine hyperparametre (centrale indstillinger), før de blev kombineret i en ensemblemodel (flere modeller, der træffer fælles beslutning) med soft voting (gennemsnit af sandsynligheder). Ensemblets indstillinger blev også justeret for at maksimere den samlede ydeevne. Vores forsøg viste, at ensemblemodellen klarede sig bedst med nøjagtighed 81%, præcision 84%, recall 84% og F1-score 83%. Ved en beslutningstærskel på 0,376 opnåede vi nøjagtighed 82%, præcision 77%, recall 96% og F1-score 85%. Det forbedrede altså evnen til at finde næsten alle syge, men på bekostning af flere falske positive. På grund af tidsmangel blev der ikke udviklet en brugergrænseflade til at modtage patientdata. Kravet om mindst 95% recall blev opfyldt, mens kravet om mindst 90% nøjagtighed ikke blev nået. Fremtidigt arbejde bør fokusere på at øge nøjagtigheden og udvikle et færdigt softwareprodukt til dataindtastning.
This project develops and tests machine learning models to classify whether patients have cardiovascular disease (CVD) or not. The intention is to integrate the model into a software tool for general practitioners, so patients at higher risk can be flagged for further assessment, with the aim of reducing illness and death. We selected input variables based on established CVD risk factors, which guided which features were included in the model. A quick initial screening of six classifiers focused on recall (the share of true cases found) and F1 score (a balance of recall and precision). Three methods were chosen for deeper evaluation: Support Vector Machine (SVM), Random Forest, and Logistic Regression. Each model’s hyperparameters (key settings) were tuned, then the models were combined into an ensemble (multiple models making a joint decision) using soft voting (averaging predicted probabilities). The ensemble’s settings were also tuned to maximize overall performance. Our experiments showed the ensemble performed best with 81% accuracy, 84% precision, 84% recall, and an F1 score of 83%. At a decision threshold of 0.376 (the cutoff for predicting CVD), performance reached 82% accuracy, 77% precision, 96% recall, and an F1 score of 85%. This increased the ability to detect true cases but led to more false positives. Due to time constraints, no user interface was built to capture medical data. The project met the minimum recall requirement of 95% but did not reach the 90% minimum accuracy requirement. Future work should focus on improving accuracy and creating a software product for user input.
[Dette resumé er omskrevet med hjælp fra AI baseret på projektets originale resumé]
