Code Monkey home page Code Monkey logo

masterarbeit_hrv_analyse's Introduction

HRV Analyse

Dieses Projekt ist im Rahmen einer Masterarbeit zum Thema Herzratenvariabilität bei Narkolepsie entstanden. Ziel ist, eine Analyse der Herzratenvariabilität aus Polysomnografiedaten zu ermöglichen und sie anschließend als Features für verschiedene Machine Learning Algorithmen zu nutzen.

Dieses Projekt beinhaltet insgesamt fünf Notebooks:

Für das Feature Engeneering(abhängig vom System der Ursprungsdaten):

  • HRV_analysis-alice5.ipynb
  • HRV_analysis-nihon-kohden.ipynb
  • HRV_analysis-somnomedics.ipynb

Für das Testing:

  • testing.ipynb

Für das ML:

  • statistik_ml.ipynb

Zur Auführung des Projekts, muss Jupyter Notebook installiert sein, eine Anleitung findet sich hier.

Darüber hinaus muss Python 3 auf dem System oder in der Virtuellen Umgebung installiert sein, je nach gewählter Ausführungsart von Jupyter Notebook.

Beispiel

Beispieldaten finden sich für die Hypnogramme im Repository:

  • Somnomedics = "Schlafprofil.txt"
  • Nihon Kohden = "Nihon_hypno_anon.html"
  • Alice5 = "STADIUManonym_alice.csv"

Eine Beispiel EDF kann unter zenodo heruntergeladen werden, passend für den Ablauf von Somnomedics. Für die beiden anderen kann leider aus Datenschutzgründen keine Beispieldatei bereitgestellt werden.

Beispiel Ablauf:

Im folgenden soll ein möglicher Abalauf der Analyse und Auswertung der Schlafstadien und des Hypnogramms anhand der somnomedics Dateien gezeigt werden.

  1. Die heruntergeldenen Beispieldaten von Zonedo werden in einen Ordner Probanden gespeichert (falls nicht, Pfad im Jupyter Notebook anpassen).
  2. danach wird die Datei hrv_analysis-somnomedics.ipynb aufgerufen
  3. Um das Script durchlaufen zu lassen wird in Jupyter Notebook auf das play Symbol gedrückt.

Testing

Um die mit Doctest erstellten Tests auszuführen. ist das Vorgehen ähnlich wie oben beschrieben:

  1. Für die Tests werden die Beispieldaten benötigt.
  2. Es wird die Datei testing.ipynb geöffnent, die den Aufruf der Doctest beeinhaltet.
  3. Um die Tests zu starten, wird in Jupyter Notebook auf das play Symbol gedrückt.

Verbose

doctest.testmod(prepedf.FILE_NAME, verbose=False)

Der Auruf der Tests hat noch ein zusätzliches verbose Attribute, was auf False gestellt ist. Wird der Parameter geändert, so wird bei jeden Testfall, welcher durchläuft wird, der Test selbst, das zu erwartene Ergebnis und das Ergebnis selbst angezeigt.

Mögliche Fehler:

Beim Lesen von einer CSV Datei mit der Panadas Bibliothek kann es zu einem möglichen Fehler kommen, dass die übergebenen Paramater delimiter und sep nicht beide vorhanden sein dürfen. Der Fehler ist ggf. auf unterschiedliche Python und Paket Versionen zurückzuführen.

Dazu in die Funktion def fileopener(filename): gehen, die sich in der preperation_hypno.py befindet und folgende Zeile:

return pd.read_csv(filename, skiprows=5, delimiter=";", sep=" ", names=["Time", "Stadium"], header=0)

durch diese ersetzen:

return pd.read_csv(filename, skiprows=5, delimiter=";", names=["Time", "Stadium"], header=0)

Lizent

Das Projekt steht unter der MIT Lizenz.

masterarbeit_hrv_analyse's People

Contributors

sarahlm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.