Input data: 5-25-5-26.csv or data.txt (JSON format)
i) preprocess-5-25-5-26.py -----> 5-25-5-26_good.csv
Input data: 5-25-5-26_good.csv
i) filter_annotated_ECG.py -----> 5-25-5-26_ECG.csv
sort_and_remove_duplicates.py
Input data: 5-25-5-26_ECG.csv
i) Sorted the data based on timestamps -----> ECG_sorted.csv
ii) De-duplicated data based on timestamps and
merged values from different rows with same timestamp -----> ECG_sorted_unique.csv
merge_retain_orginal.py.py
Input data: ECG_sorted_unique.csv
i) Merged previous row to retain the original alarm before reset -----> ECG_merged.csv
window_preprocess.py.py
Input data: ECG_merged.csv
i) Setting a threshold limit for the amount of data generated from signals to raise an alarm -----> ECG_window.csv
time_series_preprocess.py
Input data: ECG_window.csv
i) Transformed features from vertical data to horizontal data for training process
ii) Converted data to time series data +
padding (max number of signals required to raise an alarm) -----> ECG_time_series.csv
train_model.ipynb
Input data: ECG_time_series.csv
i) Trained the model for a single-label classification using One Class SVM (Accuracy: 99.866%)
ii) Stored the data to visualize accuracy and performance of the model -----> ECG_visualization_data.csv