Ab und an schaue ich Kaggle vorbei und überfliege die verfügbaren Datensets. Dabei bin ich auf einige EKG Datensets gestoßen und dachte mir es könnte spannend sein wieviel Aufwand es wohl ist einer KI beizubringen abnormale EKG Daten zu erkennen und ich war überrascht, der Aufwand hielt sich in Grenzen. Zwar diagnostiziert mein KI Model keine Krankheiten, aber es kann erkennen ob das EKG normal oder abnormal ist und das mit einer Wahrscheinlichkeit von etwa 98%
Datensatz
Dieses Datenset besteht aus zwei Sammlungen von Herzschlagsignalen aus den bekannten Datensets MIT-BIH Arrhythmia Dataset und PTB Diagnostic ECG Database. Es enthält genügend Daten, um ein tiefes neuronales Netzwerk zu trainieren. Die Signale repräsentieren EKG-Formen normaler Herzschläge sowie Herzrhythmusstörungen und Herzinfarkte. Die Daten sind vorverarbeitet und in Segmente unterteilt, wobei jedes Segment einem Herzschlag entspricht.
In den CSV Dateien entspricht jede Zeile der CSV Datei einem Herzschlag. Wenn man das ganze mit Python Plottet erhält man ein einen aussagekräftigen EKG Graph.
In der plot.py kann die Variable „heartbeat_number“ angepasst werden, so kann man sich die einzelnen Herzschläge aus der CSV grafisch darstellen lassen.
Das Projekt
Die train.py startet das Training auf frei wählbare CSV Dateien aus dem Datensatz. In meinem Fall steht „0“ für normale Herzschläge und „1“ für abnormale Herzschläge. Schon nach wenigen Minuten Training scheint die Erkennung recht zuverlässig zu funktionieren. Das Modell kann dann mit der test.py auf einen neuen dem Model unbekannten Datensatz getestet werden um zu schauen wie gut die Erkennung funktioniert. Mein tortrainiertes Model welches ebenfalls auf Github zu finden ist kommt auf etwa 98% Genauigkeit was ich durchaus als brauchbar einstufen würde.
Aktuell versuche ich die Apple Watch EGKs irgendwie in CSV Dateien zu exportieren um damit die KI zu füttern. Falls hier jemand eine Möglichkeit hat gerne her damit 🙂
Schreibe einen Kommentar