https://github.com/kayoyin/signal-processing
Repository that gathers code for signal processing
https://github.com/kayoyin/signal-processing
data-processing dimensionality-reduction ica machine-learning nmf pca signal-processing source-separation
Last synced: 6 months ago
JSON representation
Repository that gathers code for signal processing
- Host: GitHub
- URL: https://github.com/kayoyin/signal-processing
- Owner: kayoyin
- Created: 2019-11-10T09:00:45.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-06T11:57:34.000Z (almost 6 years ago)
- Last Synced: 2025-03-27T04:12:08.632Z (6 months ago)
- Topics: data-processing, dimensionality-reduction, ica, machine-learning, nmf, pca, signal-processing, source-separation
- Language: Python
- Size: 4.38 MB
- Stars: 19
- Watchers: 5
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# signal-processing
This repository gathers implementations of machine learning algorithms for signal processing using Python from scratch.Coming next: isomap, and locally linear embedding (LLE) for dimensionality reduction with manifold learning.
## Dimensionality Reduction
The following will run the PCA demo from the [first article](https://towardsdatascience.com/step-by-step-signal-processing-with-machine-learning-pca-ica-nmf-8de2f375c422):
```
python -c 'from dimensionality_reduction import demo; demo()'
```
This performs PCA on the 982 MNIST images of the number 4, and saves a sample reconstruction from reduced images with 2, 16, 64 and 256 principal components.Input image: 
Reconstruction with 2, 16, 64, 128 principal components:    
### Manifold learning
Isomap and LLE are implemented for manifold learning.
The following will run the demo from the second article:
```
python dimensionality_reduction.py
```
This performs PCA, Isomap and LLE on the 892 MNIST images of the number 5 and saves the 2D projection of the data points.PCA projection:
Isomap projection:
LLE projection:
## Source Separation
Independent Components Analysis and Nonnegative Matrix Factorization are implemented for source separation.
The following will run the demo:
```
python source_separation.py
```
This performs ICA and NMF on 1000 MNIST images of the numbers 0, 1, 4, 7 that have been mixed together with varying ratio, and saves the extracted source images.Input images: /img0.jpg) /img1.jpg) /img2.jpg) /img3.jpg)
Source separation with ICA:    
Source separation with NMF:    