# mlfz
*Machine Learning From Zero: an educational machine learning library.*

Hi there! `mlfz` is my attempt to provide reference implementations of machine learning algorithms for educational purposes. The goal is not performance, but simplicity: you won't just use this library; you'll dig through the source code to understand how machine learning works on the inside. [Check the documentation](https://mlfz.readthedocs.io/), which is written like an interactive textbook on the internals of machine learning and neural networks.

If you find value in this project, support me by grabbing a copy of my [Mathematics of Machine Learning](https://tivadardanka.com/books/mathematics-of-machine-learning) book!

## Quickstart

You can install the package directly from pip:

```
pip install mlfz
```

However, I encourage you to clone the repository and install via
```
pip install -e .
```
from the directory. This way, any local change is reflected immediately, so you can play around with the code in, say, a Jupyter Notebook.

## Contributions

Contributions are welcome! If you think you could make this project better, feel free to submit a PR. To make the process smooth, here are the steps you should take.

1. Open an issue where we'll discuss your suggestions. If we are on the same page, you can start working on the PR. (And if we're not, you have saved yourself a ton of work.)
2. Fork the repository and create a feature branch where you'll prepare the proposed changes.
3. Open a PR to the `main` branch and tag me ([@cosmic-cortex](https://github.com/cosmic-cortex/)) as a reviewer.
4. I'll either leave comments and suggestions, or merge the PR.
