{'fraction_non_alphanumeric': 0.04467979480390535, 'fraction_numerical': 0.017458216117822275, 'mean_word_length': 4.674647887323943, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Phonocardiogram Classification Based on Machine Learning with Multiple Sound Features

Corresponding Author: Khalid M.O. Nahar, Department of Computer Sciences, Yarmouk University, Irbid, Jordan Email: khalids@yu.edu.jo Abstract: In this study the heartbeat sound signals were tackled by classifying them into heart disease categories such as normal, artifact, murmur and extrahals in an attempt for early detection of heart defects. Phonocardiogram (i.e., PCG) is used to obtain the digital recording dataset of the heart sounds using an electronic stethoscope or mobile device. Multiple features are extracted from the digital recording dataset such as MFCC, Delta MFCC, FBANK and a combination between MFCC and FBANK features. Moreover, to classify the heartbeat sound signals, multiple well-known machine learning classifiers were used such as Naive Bays (NB), Support Vector Machine (SVM), Decision Tree (DT), Random Forest (RF), K-Nearest Neighbor (KNN) and Artificial Neural Network (ANN). The evaluation processes went through five metrics: Confusion matrix, accuracy, F1 score, precision and recall evaluating the recognition rate. Comparative experimental results show that the correctness of the feature with a best accuracy 99.2% adopted by MFCC and FBANK combination features which reduce false detection.


Introduction
Heart disease one of the most common reasons for increasing the number of deaths (Sowmiya and Sumitra, 2017). Heart sound is the most sensitive indicator that classify the state of the heart (i.e., innocent, or abnormal). Heart sounds can be simply defined as the noises generated by blood flowing in the heart's chambers in and out (i.e., beating heart) (Arora et al., 2019;Vepa, 2009). For a robust automatic detection of the heart defect in sound signals, there is a need for a strong Machine Learning (i.e., ML) algorithm to be able to recognize common features among different heart sound signals (i.e., innocent, or abnormal) (Gharaibeh et al., 2018;Ottom et al., 2019). In this study, an investigation aboutthe best method for classifying heart sound signals by combining sound features with well known ML algorithms. Figure 1 shows the targeted heart sound types (Sowmiya and Sumitra, 2017).
Sound-based classification of heart diseases commonly needs a heart sound signals dataset (i.e., S1, S2, S3 and S4) to split the data into heart disease categories such as normal, murmur, extrahls and artifacts (Chao et al.,;Salman et al., 2015;Vepa, 2009). In this study, Phonocardiogram (i.e., PCG) is used to obtain the digital recording dataset of the heart sound (i.e., digital heart rate recording) using an electronic stethoscope or mobile device. Then, 103 files were used in extracting sound features distributed as shown in Table 1. Based on the idea of supervised learning multiple ML algorithms were applied on the extracted features from these audio files.  This study will be organized as follows. In the next section, an extensive overview of the related works is reviewed. Section 3, shows the detailed process of proposed methodology. Section 4, present the experimental results and analysis. In the last section (i.e., section 5), the conclusion and future works are given.

Related Work
This section is an extensive literature about the algorithms and methods relevant to heart sound signals classification method, specifically, method for detecting a heart disease from the heart sound. For accurate detection, the sound signals of the defected heart must be accurately detected using suitable methods. Singh and Cheema (2013) extracted a 23 features and then select the most impotent futures from the extracted features such as total power-1, Q-factor1, T1, T12 and mean 12. The selected 5-futures are used to create two categories of PCG signals as a dataset contains normal and murmur signals. The results of the conducted experiments showed a highest accuracy of 93.33% for heart sound signals classification was achieved.
Azmy (2015) proposed a new wavelet transform method to extract a 40 features from the heart sound signals and then using a set of sample data (i.e., 154) been fed to support vector machine classifier which consist of 90 for training and 64 for testing. The result shows a high accuracy of 92.29% for heart sound signals classification, 95.38% precision and 90% recall. Son and Kwon (2018) the heart sound signals was recorded using electronic stethoscope. 28 features were extracted from the recorded signals and then the most significant features (i.e., 7 features) were selected such as Ta, Maxl, Tb, Rms1, Rms2, Max2 and Kurtosis. The selected 7 futures are used to create three categories of PCG signals as a dataset contains normal and systolic murmur and diastolic murmur signals. This method is achieves better accuracy (99.6%) compared to other relevant methods. Wang et al. (2017b) proposed new model based on SVM. Firstly, they used wavelet transform to reduce the noise of the sound. Secondly, extract the MFCC feature from heart sound. Finally, SVM is used to build a classification model. The experimental result shows the model recognition rate is 93%. Chen et al. (2016) utilized the MFCCs to extract the features of heart signals (i.e., S1 and S2). In this model, the extracted features is divided into two groups using K-means algorithm and then fed to Deep Neural Network (i.e., DNN) classifier. The results show that the model recognition rate (i.e., accuracy) is about 91%. Many researchers have turned their attention to propose new techniques for heart disease detections from the heart sound signals. Heart disease detection techniques with a list of selected publications in each category are shown in Table 2.

Proposed Methodology
The main contribution of this study is a new heart sound signals classification method (i.e., innocent, or abnormal) that will enhance the classification accuracy (i.e., heart disease detection services). The new method uses a simple method emulate some of the machine learning algorithms such as Support Vector Machines (i.e., SVM), Decision Tree (i.e., DT), Random Forest (i.e., RF), K-Nearest Neighbors (i.e., KNN), Artificial Neural Network (i.e., ANN) and Naive Bayes (i.e., NB). Figure 2 described the flow diagram of the proposed method.

Dataset Acquisition
A public dataset for benchmarking heart disease (i.e., heartbeat sounds) detection from sound signals is used (Kaggle, 2016). The dataset contains 176 heart sound files (i.e., 5 to 20 sec files duration and 705 Kbps bit rate) categorized manually into unlabeled and corrupted files. In this study, data was normalized (i.e., transform the data to a specific range) and filtered the heart sound files to 103 files as presented in Table 1. Figure 3 shows the audio files distribution among the heart disease categories (i.e., normal, murmur, extrahls and artifacts).

Data Preprocessing and Feature Extraction
Mel Frequency Cepstral Coefficient (i.e., MFCCs), Filter Bank coefficients (i.e., FBANK), delta MFCC and combined of MFCC with FBANK were considered as the features (i.e., attributes with examples) separately to detect the heart disease as shown in Table 3.
A software-based simulation using Python source code was performed for features extraction and then converted to .CSV (i.e., comma delimited file). The distributions of the selected features over the comma delimited file are shown in Fig. 4.
To make it clear, the sample of MFCCs power spectrum for the heart sound categories (i.e., normal, murmur, extrahls and artifact) are shown in Fig. 6 to 9 respectively.    The number of correctly predicted positive predictions as a ratio of total predicted positive observations. 4 Recall The number of correctly predicted positive predictions as a ratio of all predictions in actual class. 5 F1 Score The average of precision and recall (more weights to FN and FP).

ML Model
For heartbeat classification, a machine learning classifier such as NB, SVM, DT, RF, KNN and ANN are used in this study based on the selected features (Table 3). Furthermore, asset of metrics were used to evaluate the recognition rate and compare the results between ML classifiers. Table 4 presents the summary of these metrics components (Hossin and Sulaiman, 2015;Nahar et al., 2020a;Obaida, 2015). To make it clear, Fig. 5 provides an overview of the constructed ML model using ORANGE tool. The ML model includes an initiation of the Naive Bayes (i.e., NB) classifier. For heart sound signals classification, NB-based theorem use Bayes theorem to estimate the probability of a data point (i.e., separate data point based on their features) (Osisanwo et al., 2017). SVM is a classifier (i.e., supervised learning) that searches for the accurate hyper-plane (i.e., most correct line) in N-dimensional space that contains a set of points (Nahar et al., 2020b;Ottom et al., 2019). DT (i.e., Decision Tree) is a machine learning algorithm used to classify a data set, this algorithm depend on partition the attribute (i.e., root and leaf), this partition based on multiple parameters such as impurity, entropy and information gain to sort the attribute and then use the sorted attribute to classify the data point as classes (Osisanwo et al., 2017). Moreover, Random Forest (i.e., RF) algorithm was also applied on the selected features, which make a random gathering of trees. The model contains the required number of random trees utilizing the tree coefficient to achieve the voting model for every single tree. The essential structure block of the RF is the DT (Al-Hazaimeh et al., 2019;Amrehn et al., 2018). The KNN classifier is also included in the model, its calculation depends on comparing test and training attributes. Attributes represent points in the N-dimensional pattern space. The algorithm searches for the closest points within its area using Distance is measure and value k (i.e., odd number) (Sowmiya and Sumitra, 2017;Das and Nahar, 2016). Finally, ANN classifier is used on the features. ANN is a technique that simulate human mind in knowledge learning. It uses a connected neurons or nodes in a complex parallel form. ANN use back propagation calculation to train the model in a feed forward pattern (Chen et al., 2017;Lee and Yakovlev).

Experimental Results
The ML model is executed on multiple heart sound signals features including MFCC, Delta MFCC, FBANK and a combination of MFCC and FBANK features. Due to small amount of audio files (i.e., 103-Files), the K-fold cross-validation of 10 folds were used on the features file during the training phase to increase accuracy level. The obtained results are shown in Table 5.
As can be seen from Table 5, the result shows that the correctness of the feature with a best accuracy 99.2% adopted by MFCC and FBANK combination features along with ANN algorithm as displayed in Fig. 10.

Conclusion and Future Work
Heartbeat sound signals classification is tackled in this study into heart disease categories such as normal, artifact, murmur and extrahals. Phonocardiogram (i.e., PCG) is used to obtain the digital recording dataset of the heart sound (i.e., digital heart rate recording) using an electronic stethoscope or mobile device. For investigation, a multiple feature are extracted from the digital recording dataset such as MFCC, Delta MFCC, FBANK and MFCC and FBANK combination features. For heartbeat classification, a machine learning classifier such as NB, SVM, DT, RF, KNN and ANN are used in this study based on the extracted features to build a ML model using ORANGE tool. Moreover, a set of metrics such as confusion matrix, accuracy, F1 score, precision and recall were used to evaluate the recognition rate. As results, the constructed ML model shows that the best accuracy achieved was 99.2% adopted by MFCC and FBANK features combination which did not exist in the literature. There are number of works that have to address in the future research such as increase the tuples of dataset, extract more futures and attempt to incorporate a larger number of futures to increase accuracy level of the results.