https://medium.com/geekculture/logistic-regression-implementation-from-scratch-in-python-f9d6cd4a0747