ML Tools is a collection of implemented machine learning methods ranging from
data encoding and processing pipelines to supervised learning and clustering.
The focus of this repository is:
- Classic and alternative ML algorithms implemented with a unified interface
- Numerical stability and performance
- Novel extensions and original research contributions
All algorithms are implemented in NumPy and SciPy, with minimal external dependencies.
src/ml_tools/encoders/*
- Categorical variable pipeline
- Chronological variable (cyclical and absolute) pipeline
- Numeric (normalized and raw) pipeline
- Trainable Fourier Embedding pipeline
- Trainable Text embedding pipeline
src/ml_tools/generators/*
src/ml_tools/models/supervised/*
- SCG for gradient descent applied to regression and logistic regression (Møller); (Anderson)
- SCG regression with Elastic Net regularization (novel)
- SCG classification:
- Binary
- Multinomial
- Multilabel
- Johnson’s Relative Weights regression (Johnson)
- Relative Weights applied to logistic regression
(Solís & Pasquier); (Tonidandel & LeBreton)
src/ml_tools/models/clustering/*
- Self Organizing Maps, Parameterless Self-Organizing Maps - PLSOM
(Kohonen); (Berglund & Sitte)- Clustering and dimensionality reduction without hyperparameter adjustment
- Novel Centroid Neural Network for fast clustering and optimization
(Park, Dong-Chul) - CENTNN with N-dimensional density modeling
- (novel)
Active research / experimental
APIs may change as methods are refined and extended.
- "David Graey", "graeyband@gmail.com"
- "Dr Charles Anderson", "Chuck.Anderson@colostate.edu"
Primary academic references are cited inline.
Full bibliographic references may be added in /docs in the future.
https://packaging.python.org/en/latest/tutorials/packaging-projects/
https://packaging.python.org/en/latest/tutorials/creating-documentation/
https://mermaid.js.org/config/Tutorials.html
flowchart LR;
A --> B;
A --> C;