[D] Machine Learning meets Functional Programming: Nubank open-sources ML library
We just open-sourced our library we are using at Nubank (Fintech company in Latin America) for developing machine learning model. We are big fans of functional programming and applied a lot of concept from it to develop this library.
Machine Learning is frequently done by using object-oriented python code, and that’s the way we used to do it at Nubank as well. Back then, the process of building machine learning models and putting them into production was tiresome and often full of bugs. We’d deploy a model only to find that predictions made in production didn’t match the ones seen during validation. What’s more, validation was often impossible to reproduce, frequently being done in stateful Jupyter Notebooks.
Functional programming helps fix these issues by:
- Making it easy to build pipelines where the data transformations that happen during training match the models in production.
- Allowing for safer iteration in interactive environments (e.g. Jupyter Notebooks), preventing mistakes caused by stateful code and making research more reproducible.
- Allowing us to write very generic validation, tuning and feature selection code that works across model types and applications, making us more efficient overall.
You can have a longer description here: https://medium.com/building-nubank/introducing-fklearn-nubanks-machine-learning-library-part-i-2a1c781035d0
And the github is here: https://github.com/nubank/fklearn
We don’t expect fklearn to replace current standards in ML, but we hope it starts interesting conversations about the benefits of functional programming for Machine Learning.