aek-auto-mlbuilder 0.1.1__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.1.1
3
+ Version: 0.2.0
4
4
  Summary: Automatic ML model builder in Python
5
5
  Home-page: https://github.com/alpemre8/aek-auto-mlbuilder
6
6
  Author: Alp Emre Karaahmet
@@ -0,0 +1,4 @@
1
+ from .base import BaseModel
2
+ from .utils import split_data
3
+ from .linear_regression import LinearRegressor
4
+ from .logistic_regression import LogisticClassifier
@@ -0,0 +1,48 @@
1
+ from sklearn.linear_model import LogisticRegression
2
+ from sklearn.preprocessing import StandardScaler
3
+ from sklearn.pipeline import make_pipeline
4
+ from .base import BaseModel
5
+
6
+
7
+
8
+ class LogisticClassifier(BaseModel):
9
+ """
10
+ Basic Logistic Regression class for binary/multi-class classification.
11
+ Brute-force parameter search included.
12
+ """
13
+
14
+ def __init__(self, param_grid=None):
15
+ super().__init__()
16
+ self.param_grid = param_grid or {
17
+ "C": [0.01, 0.1, 1, 10],
18
+ "penalty": ["l2"],
19
+ "solver": ["lbfgs"],
20
+ "fit_intercept": [True, False]
21
+ }
22
+ def train(self, X, y):
23
+ best_score = -float("inf")
24
+ best_model = None
25
+
26
+ for C in self.param_grid["C"]:
27
+ for penalty in self.param_grid["penalty"]:
28
+ for solver in self.param_grid["solver"]:
29
+ for fit_intercept in self.param_grid["fit_intercept"]:
30
+ model = make_pipeline(
31
+ StandardScaler(),
32
+ LogisticRegression(
33
+ C=C,
34
+ penalty=penalty,
35
+ solver=solver,
36
+ fit_intercept=fit_intercept,
37
+ max_iter=1000
38
+ )
39
+ )
40
+ model.fit(X, y)
41
+ score = model.score(X, y)
42
+ if score > best_score:
43
+ best_score = score
44
+ best_model = model
45
+
46
+ self.best_model = best_model
47
+ self.best_score = best_score
48
+ return self.best_model
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.1.1
3
+ Version: 0.2.0
4
4
  Summary: Automatic ML model builder in Python
5
5
  Home-page: https://github.com/alpemre8/aek-auto-mlbuilder
6
6
  Author: Alp Emre Karaahmet
@@ -5,6 +5,7 @@ setup.py
5
5
  aek_auto_mlbuilder/__init__.py
6
6
  aek_auto_mlbuilder/base.py
7
7
  aek_auto_mlbuilder/linear_regression.py
8
+ aek_auto_mlbuilder/logistic_regression.py
8
9
  aek_auto_mlbuilder/utils.py
9
10
  aek_auto_mlbuilder.egg-info/PKG-INFO
10
11
  aek_auto_mlbuilder.egg-info/SOURCES.txt
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="aek-auto-mlbuilder", # PyPI dağıtım adı
5
- version="0.1.1",
5
+ version="0.2.0",
6
6
  description="Automatic ML model builder in Python",
7
7
  long_description=open("README.md", encoding="utf-8").read(),
8
8
  long_description_content_type="text/markdown",
@@ -1,3 +0,0 @@
1
- from .base import BaseModel
2
- from .utils import split_data
3
- from .linear_regression import LinearRegressor