{'fraction_non_alphanumeric': 0.03397433397043336, 'fraction_numerical': 0.019620080352615362, 'mean_word_length': 4.62606978275181, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
PCG Classification Using Multidomain Features and SVM Classifier

This paper proposes a method using multidomain features and support vector machine (SVM) for classifying normal and abnormal heart sound recordings. The database was provided by the PhysioNet/CinC Challenge 2016. A total of 515 features are extracted from nine feature domains, i.e., time interval, frequency spectrum of states, state amplitude, energy, frequency spectrum of records, cepstrum, cyclostationarity, high-order statistics, and entropy. Correlation analysis is conducted to quantify the feature discrimination abilities, and the results show that “frequency spectrum of state”, “energy”, and “entropy” are top domains to contribute effective features. A SVM with radial basis kernel function was trained for signal quality estimation and classification. The SVM classifier is independently trained and tested by many groups of top features. It shows the average of sensitivity, specificity, and overall score are high up to 0.88, 0.87, and 0.88, respectively, when top 400 features are used. This score is competitive to the best previous scores. The classifier has very good performance with even small number of top features for training and it has stable output regardless of randomly selected features for training. These simulations demonstrate that the proposed features and SVM classifier are jointly powerful for classifying heart sound recordings.


Introduction
Heart sounds are a series of mechanical vibrations produced by the interplay between blood flow and heart chambers, valves, great vessels, etc. [1][2][3]. Heart sounds provide important initial clues in heart disease evaluation for further diagnostic examination [4]. Listening to heart sounds plays an important role in early detection for cardiovascular diseases. It is practically attractive to develop computer-based heart sound analysis. Automatic classification of pathology in heart sounds is one of the hot problems in the past 50 years. But accurate classification is still an open challenge question. To the authors' knowledge, Gerbarg et al. were the first to publish automatic classification of pathology in heart sounds [5].
Automatic classification of PCG recording in clinical application typically consists of four steps: preprocessing, segmentation, feature extraction, and classification. Over the past decades, features and methods for the classification have been widely studied. In summary, features may be wavelet features, time-domain features, frequency domain features, complexity-based features, and joint time-frequency domain features. Methods available for classification may be artificial neural network [6][7][8][9][10], support vector machine [11,12], and clustering [13][14][15][16]. Unfortunately, comparisons between previous methods have been hindered by the lack of standardized database of heart sound recordings collected from a variety of healthy and pathological conditions. The organizers of the PhysioNet/CinC Challenge 2016 set up a large collection of recordings from various research groups in the world. In the conference, many methods were proposed for this discrimination purpose, like deep learning methods [17][18][19], tensor based methods [20], support vector machine based methods [21,22], and others [23][24][25][26][27]. Generally, time and/or frequency domain features were used in these papers. The reported top overall scores were 89.2% by [27], 86.2% by [28], 85.9% by [29], and 85.2% by [30]. In this paper, the authors extend their previous study [31] and extracted a total of 515 features for normal/abnormal PCG classification. The difference of the proposed method to the existing methods is that these features are from multidomains, such as time interval, state amplitude, energy, high-order statistics, cepstrum, frequency spectrum, cyclostationarity, and entropy. To the authors' knowledge, the proposed method in this paper perhaps uses the most number of features. Correlation analysis shows the contribution of each feature. A SVM classifier is used to discriminate abnormal/uncertain/normal types. Cross validation shows that the proposed features have excellent generation ability. The mean overall score based on 20% data training is up to 0.84. It rises to 0.87 based on 50% data training and rises to 0.88 based on 90% data training. The results demonstrate that the method is competitive comparison to previous approaches.

Database.
The database used in this paper is provided by the international competition PhysioNet/CinC Challenge 2016, which can be freely downloaded from the website [32]. The database includes both PCG recordings of healthy subjects and pathological patients collected in either clinical or nonclinical environments. There are a total of 3,153 heart sound recordings, given as " * .wav" format, from 764 subjects/patients, lasting from 5 s to 120 s. The recordings were divided into two classes: normal and abnormal records with a confirmed cardiac diagnosis. Label "1" was used to present abnormal (665 recordings) and "-1" to present normal cases (2488 recordings). A skilled cardiologist was also invited to evaluate the signal quality for each recording. As he believed that a recording had good signal quality, it was labeled "1". Otherwise, it was labeled "0". There are 279 recordings which were labeled as bad signal quality and the rest of 2874 were labeled as good quality. Details about the database can be found in [33].

Flow Diagram of the Proposed Method.
The flow diagram of the proposed method to classify PCG recordings is shown in Figure 1. Each step will be described in the following subsections.

Preprocessing.
Each PCG recording is high-pass filtered with a cut-off frequency of 10 Hz to remove baseline drift. The spike removal algorithm is applied to the filtered recording [34]. Then, the recording is normalized to zero mean and unit standard deviation.

Heart Sound Segmentation by Springer's Algorithm.
Springer's hidden semi-Markov model (HSMM) segmentation method [35] is used to segment a PCG recording into four states, i.e., S1, systole, S2, and diastole. Figure 2 shows an example of this segmentation. Hence, the following signals can be defined and further used for feature extraction. ( ) is a digital PCG recording where is the discrete time index. 1 ( ) and 2 ( ) are S1 and S2 signals occurring in the ith cardiac cycle, respectively.
( ) and ( ) are the signals of systolic interval and diastole interval in the ith cardiac cycle, respectively. ( ) is the signal of the ith cardiac cycle. Hence, ( ) consists of the digital sequence of (20 Features). After the segmentation operation, a PCG recording is divided into many states in the order of S1, systole, S2, and diastole. The time interval of each state can be measured by the time difference between the beginning and the end. The cardiac cycle period can be measured by the time difference between the beginnings of two adjacent S1s. Since the intervals have physiological meanings in view point of heart physiology, Liu et al. [33] proposed 16 features from the intervals as shown in Table 1  sd Ratio SysDia SD of the ratio of systolic to diastolic interval of each heart beat 17 m Ratio S1RR * mean value of the ratio of S1 interval to RR interval of each heart beat 18

Time-Domain Features
sd Ratio S1RR * SD of the ratio of S1 interval to RR interval of each heart beat 19 m Ratio S2RR * mean value of the ratio of S2 interval to RR interval of each heart beat 20 sd Ratio S2RR * SD of the ratio of S2 interval to RR interval of each heart beat Note: * means the new added features in this study.  (12 Features). Previous physiological findings in amplitude of heart sound [1][2][3] disclosed that the amplitude is related to heart hemodynamics. So, it is reasonable to extract features from amplitude of heart sounds. To eliminate the difference between subjects and records, no absolute amplitude is considered. Relative ratios of amplitude between states are extracted as given in Table 2. The previous studies disclosed that murmurs' frequency is hardly higher than 800 Hz. In order to reflect murmurs' properties, the maximum frequency considered in this domain is 820 Hz. In this paper, each band-pass filter is designed by a five-order Butterworth filter. The output of the ith filter is y :

Normalized Amplitude Features
where b (numerator) and a (denominator) are the Butterworth IIR filter coefficient vectors. Hence, the energy ratio is defined as It is known that a normal heart sound signal generally has a frequency band blow 200 Hz. However, the frequency band may extend to 800 Hz if it contains murmurs. So, the energy ratio reflects signal energy distribution along frequency band. These features are helpful to discriminate a PCG records with murmurs or not. m Amp S1S2 mean value of the ratio of the mean absolute amplitude during S1 to that during S2 in each heart beat 6 s d Amp S1S2 SD of m Amp S1S2 7 m Amp S1Dia mean value of the ratio of the mean absolute amplitude during S1 to that during diastole in each heart beat 8 s d Amp S1Dia SD of m Amp S1Dia 9 m Amp SysDia mean value of the ratio of the mean absolute amplitude during systole to that during diastole in each heart beat 10 sd Amp SysDia SD of m Amp SysDia 11 m Amp S2Sys mean value of the ratio of the mean absolute amplitude during S2 to that during systole in each heart beat 12 sd Amp S2Sys SD of m Amp S2Sys For the second part, the relative energy ratio is investigated between any two states, resulting in another 20 features. The energy ratio of S1 to the cycle period is defined as where N is the number of cycles in a PCG recording and is the discrete time index. The authors consider average of  Table 3.

Spectrum-Domain for Records Features (27 Features).
As is mentioned in Section 2.5.4, the frequency band is divided into 27 bands with start from 10 Hz to 30 Hz increment. Fast Fourier transform is performed for every record. The ratio of spectrum magnitude sum in a band to spectrum magnitude sum in whole band is taken as a feature. So, 27 features can be produced for a record. These features can discriminate murmurs because murmurs generally have higher frequency than those of normal heart sounds.

Cepstrum-Domain Features (13 Features × 5 = 65
Features). The cepstrum of a PCG recording is calculated and the first 13 cepstral coefficients are taken as features [36]. Additionally, all S1 states from a PCG recording are joined together to create a new digital sequence. Then, the cepstrum can be calculated and the first 13 cepstral coefficients are taken as features. Similarly, the same operation is done to S2, systole, and diastole states. So, another 13 features × 3 = 39 features are obtained. The cepstrum of a signal ( ) is computed as follows: where the operator DFT[.] is the discrete Fourier transform, IDFT[.] is the inverse DFT, log[.] is the natural logarithm, and |.| is the absolute operation. It is known that the cepstrum coefficient decays quickly. So, it is reasonable to select the first 13 coefficients as features. The cepstrum-domain features are listed in Table 4.

Cyclostationary Features (4 Features).
(1) m cyclostationarity 1 is mean value of the degree of cyclostationarity. The definition of "degree of cyclostationarity" can be found in [37]. This feature indicates the degree of a signal repetition. It will be infinite if the events which occurred in heart beating were exactly periodic. However, it will be a small number if the events are randomly alike. Let us assume ( ) is the cycle frequency spectral density (CFSD) of a heart sound signal at cycle frequency , as shown in Figure 3. This feature is defined as where is the maximum cycle frequency considered and is the basic cycle frequency indicated by the main peak location of ( ). A heart sound signal is equally divided into subsequences. The feature can be estimated for each subsequence; then the mean value and standard deviation can be obtained. Ratio of a given band energy to the total energy 28 Mean of 47 standard deviation of  (2) sd cyclostationarity 1 is SD of the degree of cyclostationarity.
(3) m cyclostationarity 2 is mean value of the sharpness measure. The definition of this indicator is the sharpness of the peak of cycle frequency spectral density. It is .
The operators max(.) and median(.) are the maximum and median magnitude of the cycle frequency spectral density. It is obvious that the sharper the peak is, the greater the feature is. Similarly, the feature can be calculated for each subsequence of the heart sound signal and then get the mean value and SD.
(4) sd cyclostationarity 2 is SD of the sharpness measure. The four features are listed in Table 5.  m S1 skewness mean value of the skewness of S1 2 s d S1 skewness SD of the skewness of S1 3 m S1 kurtosis mean value of the kurtosis of S1 4 s d S1 kurtosis SD of the kurtosis of S1  (16 Features). In probability theory and statistics, skewness is a measure of the asymmetry of the probability distribution of real-valued random numbers about its mean. It is a three-order statistics. Kurtosis is a measure of "tailedness" of the probability distribution of real-valued random numbers. It is a four-order statistics. The skewness and kurtosis of each state are considered here. There are sixteen related features, as listed in Table 6. (16 Features). Sample entropy (Sam-pEn) and fuzzy measure entropy (FuzzyMEn) have the ability to measure the complexity of a random sequence [38,39]. Sample entropy and fuzzy measure entropy are both computed to measure the complexity of every state segmented by Springer's algorithm. Then, the average and standard deviation are used as the features. The detailed algorithm to calculate sample entropy and fuzzy measure entropy can be found in [38,39]. So, 16 features in entropy are listed in Table 7.

Entropy Features
2.5.10. Summary. This paper considers 515 features in nine domains. They are listed in Table 8 for reference. To the authors' knowledge, the features extracted from entropy and cyclostationarity are new for heart sound classification. On the other hand, the combination of the features in the nine domains is novel for this classification. Seldom previous study has considered so many features simultaneously.

SVM-Based Model for Signal Quality Estimation and
Classification. The signal quality classification is typically two-category classification problem in this study. The SVMbased model has yielded excellent results in many two-class classification situations. Given a training sample set {x , }, = 1, ⋅ ⋅ ⋅ , , where x is the feature vector x ∈ , is the label. So, SVM-based model is applicable for both signal quality estimation and classification. For the quality estimation, the label is ∈ {1, 0}, which means good quality and bad quality. For the classification, the label is ∈ {1, −1}, which means abnormal and normal cases. The aim of SVM classifier is to develop optimal hyperplane between two classes besides distinguishing them. The optimal hyperplane can also be constructed by calculating the following optimization problem.
Here is a relaxation variable and ≥ 0, is a penalty factor, and w is the coefficient vector. (x ) is introduced to get a where (x , ) is a kernel function. The authors use RBF kernel function in this paper. And the parameter sigma is empirically set as 14. The discussions about the selection of kernel function and the influence of sigma are given in the Section 4.3.

Scoring.
The overall score is computed based on the number of records classified as normal, uncertain, or abnormal, in each of the reference categories. These numbers are denoted by , , , , , and in Table 9.
Weights for the various categories are defined as follows (based on the distribution of the complete test set): The modified sensitivity and specificity are defined as (based on a subset of the test set) The overall score is then the average of these two values:

Correlation Analysis between the Features and the Target
Label. In this paper, a total of 515 features are extracted from a single recording. A question arises about how to evaluate the contribution of a feature for classification. To answer the question, correlation analysis is performed between the features and the target label. The correlation coefficients are plotted in the nine domains in Figure 4. The statistics of the coefficients are listed in Table 10. The top coefficient is 0.417 which is from "frequency spectrum of state" at 30 Hz of S2 state. This feature is called "top feature". The statistics of top features are listed in Table 11. It is shown that 4 in the top 10 features are from "frequency spectrum of state". So, this domain is ranked the first. Both "energy" and "entropy" contribute 3 in top 10. But "energy" contributes 12 in top 100 which is greater than "entropy" who contributes 8 in top 100. Therefore, "energy" is ranked the 2nd and "entropy" is ranked the 3rd. Following similar logics, the nine domains are ranked as shown in Table 11. It concludes that the domain "frequency spectrum of state" contributes the most. "Energy" and "entropy" are the second and third place to contribute.

Signal Quality Estimation by SVM.
The SVM model in (9) is used to discriminate signal quality. The reference labels for clean and noisy PCG recordings are "1" and "0", respectively. The input to the model is the proposed 515 features. The performance is tested by various input, as shown in Table 12. Firstly, 10% of randomly selected data are used for training and the other 90% of data are used for testing without any overlap. Then the percent of train data increases by 10% and repeats. The performance summary for signal quality estimation is listed in Table 12. The manual reference indicates that there are 2874 clean recordings and 279 noisy recordings. So, the numbers of the two quality groups have great unbalance which has bad effect on network training. It is shown that the performance for good signal quality has excellent sensitivity from 96% to 98% no matter how much the percent of data for training varies from 10% to 90%. However, the performance for bad signal quality is poor. The specificity is around 50%; even the training data varies from 10% to 90%. Fortunately, this performance has little influence on the final classification, shown in the next subsection.

Classification of Normal/Abnormal by SVM.
The classification of normal/abnormal is carried out by the SVM model as given in (9). The 515-feature vector is used as input to the SVM network and the label is used as output. The SVM model is firstly trained by a part of data and then tested by the other.
To test the generation ability of the model, it is widely tested in following two cases.
Case 1. All data (3153 recordings) are used to train the model and all data (3153 recordings) are to test the model. So, the training data and the testing data are fully overlapped.
Case 2. 10% of the normal recordings and 10% of the abnormal recordings are randomly selected to train the model, and the other 90% are to test the model. The training data and the testing data are exclusively nonoverlapped. This program Entropy (   independently repeats 200 times to evaluate the stability. Sensitivity and specificity are calculated in "mean±SD" to indicate the classification performance. Then, the percent of training data increases by 10%, the percent of test data decreases by 10%, and the evaluation process is repeated until the percent of training data reaches 90%.
The performance of the proposed classification is listed in Table 13. The overall score of Case 1 is up to 0.95. It proves that the proposed features are effective for this classification. In Case 2, it can be found that, with the increasing percent of data for training, both sensitivity and specificity increase. The standard deviation is not greater than 0.02. So, the score variation is very small; even the classifier independently runs 200 times. This simulation proves that the proposed features and the model have excellent generation ability and stability and are effective in discriminating the PCG recordings. be found that there is an "edge effect" on the selection of top feature number. That is, much improvement can be obtained via increasing top feature number as the number is small. However, the improvement becomes little when the number is up to some degree. The best performance is obtained with top 400 features in this paper. The performance will get worse if the number continues to increase.

Discussions
The proposed classification has very good performance even if the number of features is small. For example, it can be noted in Figure 5(a) that the overall score is up to 0.71 as only the top 1 feature is used and the score increases to 0.81 when the top 10 features are used. This is one of attractive advantages of the proposed classification.
Another advantage is that the proposed SVM classifier has very stable output. Even if the SVM classifier is trained independently by randomly selected features, the overall score has very low variations (standard variance is approximately lower than 0.02). That is to say, the proposed features and SVM classifier are adaptable to the classification. Table 13 and Figure 5 show the classification performance based on mixed features from multidomains. It is interesting to test the performance based on features of a separated domain. This test would be evidence to show the power of combined features for classification. So, the SVM classifier and 10-fold validation are used for this purpose. The results are listed in Table 14. It is seen that, the highest score, 0.85, is produced if only the features in "frequency spectrum of state" are used. Other high scores are obtained based on features in domain of "entropy", "energy", and "cepstrum". It can be found that these results are almost coincident with those of correlation analysis given in Section 3.1 where "frequency spectrum of state", "energy", "entropy", and "cepstrum" are the top domains to contribute effective features. This simulation indicates that it is reasonable to improve classification performance by combining multidomain features.

Selection of Kernel Function and Influence of the Gaussian
Kernel Function. Typically, the kernel functions for a SVM have several selections, such as linear kernel, polynomial kernel, sigmoid kernel, and Gaussian radial basis function. Given an arbitrary dataset, one does not know which kernel may work best. Generally, one can start with the simplest hypothesis space first and then work a way up towards a more complex hypothesis space. The authors followed this lesson summarized by the previous researchers. A bad performance was produced by the SVM classifier using a linear kernel since 515 features in this study were complex and they were not linearly separable, as well as using a polynomial kernel. The authors actually tried out all possible kernels and found that the RBF kernel produced the best performance. The authors believed that the best performance should be attributed to the RBF kernel's advantages. The first is translation invariance. Let the RBF kernel be (x , x ) =  exp(−‖x − x ‖/ ); then (x , x ) = (x +^, x +^) where^is any arbitrary vector. It is known that the kernel is effectively a similarity measure. The invariance is useful to measure the similarity between the proposed features. The second is that the similarity is measured by Euclidean distance. RBF kernel is a function of the Euclidean distance between the features. In this study, the Euclidean distance is a preferred similarity metric. The authors selected the RBF kernel function because the advantages match the classification purpose and features.
One difficulty with the Gaussian RBF kernel function is the parameter sigma governing the kernel width. A general conclusion about sigma has been summarized by previous researchers. A large value of sigma may lead to an over smoothing hyperplane and a washing out of structure that might otherwise be extracted from the feature space. A reducing value of sigma may lead to a noisy hyperplane elsewhere in the feature space where the feature density is smaller. There is a trade-off between sensitivity to noise at small value and over smoothing at large value. To select appropriate value for sigma, the authors did grid search in a specified range, as seen in Figure 6. This figure shows the mean overall score, based on 50 independent runs, with respect to rate of data for training and value of sigma where the value of sigma increases from 4 to 35 by step of 1 and the rate of data for training increases from 0.1 to 0.9 by step of 0.1. It is found that the peak of the overall score occurs at sigma 14 as indicated by the diamond.

Conclusions
In this paper, 515 features are extracted from multiple domains, i.e., time interval, state amplitude, energy, highorder statistics, cepstrum, frequency spectrum, cyclostationarity, and entropy. Correlation analysis between the features and the target label shows that the features from frequency spectrum contribute the most to the classification. The features and the SVM classifier jointly show the powerful classification performance. The results show the overall score reaches 0.88±0.02 based on 200 independent simulations, which is competitive to the previous best classification methods. Moreover, the SVM classifier has very good performance with even small number of features for training and has stable output regardless of randomly selected features for training.