From 74a5839f64054f74049311959d20cf3114985443 Mon Sep 17 00:00:00 2001 From: Charles-Meldhine Madi Mnemoi Date: Sat, 16 Sep 2023 22:53:25 +0200 Subject: [PATCH 1/2] feat: new public API --- cmnemoi_learn/__init__.py | 6 ++++++ cmnemoi_learn/{abstract_model.py => _abstract_model.py} | 0 cmnemoi_learn/classification/__init__.py | 7 +++++++ .../{abstract_classifier.py => _abstract_classifier.py} | 2 +- .../{logistic_regression.py => _logistic_regression.py} | 2 +- cmnemoi_learn/regression/__init__.py | 7 +++++++ .../{abstract_regressor.py => _abstract_regressor.py} | 2 +- .../{linear_regression.py => _linear_regression.py} | 2 +- tests/classification/test_logistic_regression.py | 2 +- tests/regression/test_linear_regression.py | 2 +- 10 files changed, 26 insertions(+), 6 deletions(-) rename cmnemoi_learn/{abstract_model.py => _abstract_model.py} (100%) rename cmnemoi_learn/classification/{abstract_classifier.py => _abstract_classifier.py} (94%) rename cmnemoi_learn/classification/{logistic_regression.py => _logistic_regression.py} (97%) rename cmnemoi_learn/regression/{abstract_regressor.py => _abstract_regressor.py} (92%) rename cmnemoi_learn/regression/{linear_regression.py => _linear_regression.py} (96%) diff --git a/cmnemoi_learn/__init__.py b/cmnemoi_learn/__init__.py index e69de29..2d8d8dd 100644 --- a/cmnemoi_learn/__init__.py +++ b/cmnemoi_learn/__init__.py @@ -0,0 +1,6 @@ +""" +cmnemoi-learn is a personal reimplementation of Machine Learning algorithms +with high quality development practices. +""" + +__all__ = ["classification", "regression"] diff --git a/cmnemoi_learn/abstract_model.py b/cmnemoi_learn/_abstract_model.py similarity index 100% rename from cmnemoi_learn/abstract_model.py rename to cmnemoi_learn/_abstract_model.py diff --git a/cmnemoi_learn/classification/__init__.py b/cmnemoi_learn/classification/__init__.py index e69de29..77e1974 100644 --- a/cmnemoi_learn/classification/__init__.py +++ b/cmnemoi_learn/classification/__init__.py @@ -0,0 +1,7 @@ +""" +Module implementing machine learning models for regression tasks. +""" + +from ._logistic_regression import LogisticRegression + +__all__ = ["LogisticRegression"] diff --git a/cmnemoi_learn/classification/abstract_classifier.py b/cmnemoi_learn/classification/_abstract_classifier.py similarity index 94% rename from cmnemoi_learn/classification/abstract_classifier.py rename to cmnemoi_learn/classification/_abstract_classifier.py index e688703..43a9fae 100644 --- a/cmnemoi_learn/classification/abstract_classifier.py +++ b/cmnemoi_learn/classification/_abstract_classifier.py @@ -4,7 +4,7 @@ import numpy as np -from cmnemoi_learn.abstract_model import AbstractModel +from .._abstract_model import AbstractModel class AbstractClassifier(AbstractModel): diff --git a/cmnemoi_learn/classification/logistic_regression.py b/cmnemoi_learn/classification/_logistic_regression.py similarity index 97% rename from cmnemoi_learn/classification/logistic_regression.py rename to cmnemoi_learn/classification/_logistic_regression.py index ce81555..5d3797d 100644 --- a/cmnemoi_learn/classification/logistic_regression.py +++ b/cmnemoi_learn/classification/_logistic_regression.py @@ -4,7 +4,7 @@ from typing import Optional, Self import numpy as np -from cmnemoi_learn.classification.abstract_classifier import AbstractClassifier +from ._abstract_classifier import AbstractClassifier class LogisticRegression(AbstractClassifier): diff --git a/cmnemoi_learn/regression/__init__.py b/cmnemoi_learn/regression/__init__.py index e69de29..24a6bc8 100644 --- a/cmnemoi_learn/regression/__init__.py +++ b/cmnemoi_learn/regression/__init__.py @@ -0,0 +1,7 @@ +""" +Module implementing machine learning models for regression tasks. +""" + +from ._linear_regression import LinearRegression + +__all__ = ["LinearRegression"] diff --git a/cmnemoi_learn/regression/abstract_regressor.py b/cmnemoi_learn/regression/_abstract_regressor.py similarity index 92% rename from cmnemoi_learn/regression/abstract_regressor.py rename to cmnemoi_learn/regression/_abstract_regressor.py index 5690ece..5e45c0d 100644 --- a/cmnemoi_learn/regression/abstract_regressor.py +++ b/cmnemoi_learn/regression/_abstract_regressor.py @@ -4,7 +4,7 @@ import numpy as np -from cmnemoi_learn.abstract_model import AbstractModel +from .._abstract_model import AbstractModel class AbstractRegressor(AbstractModel): diff --git a/cmnemoi_learn/regression/linear_regression.py b/cmnemoi_learn/regression/_linear_regression.py similarity index 96% rename from cmnemoi_learn/regression/linear_regression.py rename to cmnemoi_learn/regression/_linear_regression.py index 8e548ba..81252d1 100644 --- a/cmnemoi_learn/regression/linear_regression.py +++ b/cmnemoi_learn/regression/_linear_regression.py @@ -6,7 +6,7 @@ import numpy as np from numpy.linalg import pinv -from cmnemoi_learn.regression.abstract_regressor import AbstractRegressor +from ._abstract_regressor import AbstractRegressor class LinearRegression(AbstractRegressor): diff --git a/tests/classification/test_logistic_regression.py b/tests/classification/test_logistic_regression.py index e9f243d..b358e8e 100644 --- a/tests/classification/test_logistic_regression.py +++ b/tests/classification/test_logistic_regression.py @@ -6,7 +6,7 @@ from sklearn.linear_model import LogisticRegression as SklearnLogisticRegression from sklearn.metrics import accuracy_score -from cmnemoi_learn.classification.logistic_regression import LogisticRegression +from cmnemoi_learn.classification import LogisticRegression RANDOM_STATE = 42 diff --git a/tests/regression/test_linear_regression.py b/tests/regression/test_linear_regression.py index ac78971..e43ab1e 100644 --- a/tests/regression/test_linear_regression.py +++ b/tests/regression/test_linear_regression.py @@ -6,7 +6,7 @@ from sklearn.linear_model import LinearRegression as SklearnLinearRegression from sklearn.metrics import mean_squared_error -from cmnemoi_learn.regression.linear_regression import LinearRegression +from cmnemoi_learn.regression import LinearRegression np.random.seed(42) From b618e87951da0eff47063a62374ed38559805b29 Mon Sep 17 00:00:00 2001 From: Charles-Meldhine Madi Mnemoi Date: Sat, 16 Sep 2023 23:06:10 +0200 Subject: [PATCH 2/2] chore: bump version to 0.4 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 190cac6..1364f15 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "cmnemoi-learn" -version = "0.3.0" +version = "0.4.0" description = "Machine Learning from scratch by Charles-Meldhine Madi Mnemoi" authors = ["Charles-Meldhine Madi Mnemoi "] license = "MIT"