This submission provides the code explained by the (upcoming) eBook on the complete machine learning workflow. Based on the heart sound recordings of the PhysioNet 2016 challenge, a model is developed that classifies heart sounds into normal vs abnormal, and deployed in a prototype (heart) screening application. The workflow demonstrates:
1) using datastore for efficiently reading large number of data files from several folders
2) using tools from signal processing, wavelets and statistics for feature extraction
3) using ClassificationLearner app to interactively train, compare and optimize classifiers without writing any code
4) programmatically training an ensemble classifier with misclassification costs
5) applying an automated feature selection to select a smaller subset of relevant features
6) performing C code generation for deployment to an embedded system
7) applying Wavelet scattering to automatically extract features that outperform manually engineered ones
Bernhard Suhm (2024). Heart Sound Classifier (https://www.mathworks.com/matlabcentral/fileexchange/65286-heart-sound-classifier), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
- Moved hyperparameter tuning and cost matrices into the Classification Learner
Updated version to exactly match the exampled used for the "Advanced Machine Learning" eBook after obtaining permission to use code authored by a third party.
Fixed bugs uncovered by hanspeter
Actually use version without the signal_entropy feature
Removed reference to signal_entropy.m, which was owned by someone outside MathWorks.