- Introduction
- Project tracker
- Project documents
- Available modules
- Clustering - determines optimal k
- GLMNet - classification/regression
- k-nearest neighbours - classification/regression
- Random forest - classification/regression
- XGBoost - classification/regression
- Traveling salesman problem - integer programming/heuristic
- Transportation problem - integer programming
- Time series
- Pull request guidelines
- Initial setup
- Unit tests
- Contribution guidelines
- Branching conventions
- Directory structure
- License
The objective of this repository is to:
- Create a code library/toolkit to automate commonly used machine learning techniques/approaches in a modular environment.
- Provide best in class approaches developed over a period of time.
- Reduce development time for machine learning projects.
- Provide a scalable solution for all machine learning projects.
It's good practice to follow accepted standards while coding in python:
- PEP 8 standards: For code styles.
- PEP 257 standards: For docstrings standards.
- PEP 484 standards For function annotations standards.
Also, it's a good idea to rate all our python scripts with Pylint. If we score anything less than 8/10, we should consider redesigning the code architecture.
A composite pylint ratings for all the codes are automatically computed when we run the tests and prepended on top of this file.
We use semantic versionning (SemVer) for version control. You can read about semantic versioning here.
bash install.sh
The python requirements can be found at
To run all unit tests and rate all python scripts, run the following in project directory:
./bin/run_tests.sh
Available options:
-a default, runs both code rating and unit tests.
-u unit tests.
-r code rating.
The pylint ratings for each python script can be found at logs/pylint/