Compression and Learning Algorithms offers compression and learning algorithms. The implementation is mainly suitable for ilustrative purposes of the interconection of the two topics. The source code offers the following:
- For Entropy type compression:
- includes Huffman encoding scheme for binary coding
- includes Shannon-Fano-Elias coding
- For Dictionary type compression:
- includes plain LZ77 encoding
- includes LZW coding based on LZ78
- For Transforms:
- includes plain Burrows Wheeler Transform
- includes bijective Burrows Wheeler Transform based on Lyndon Words
- includes Move-To-Front encoding
- For Pattern Recognition:
- includes Decision Tree based on entropy of information
- includes Vector Quantization based on K-Means
- includes Principal Component Analysis based on Eigenvectors and Eigenvalues
- includes Boosting based on Decision Tree stumps
- includes Random Forest and Bagged Trees based on Decision Trees
To get started have a look at the test files to see how to use compression and pattern recognition.