aek-auto-mlbuilder 0.5.0__tar.gz → 0.6.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.
Files changed (20) hide show
  1. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/PKG-INFO +1 -1
  2. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/__init__.py +2 -1
  3. aek_auto_mlbuilder-0.6.0/aek_auto_mlbuilder/svm.py +47 -0
  4. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder.egg-info/PKG-INFO +1 -1
  5. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder.egg-info/SOURCES.txt +1 -0
  6. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/setup.py +1 -1
  7. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/LICENSE +0 -0
  8. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/README.md +0 -0
  9. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/base.py +0 -0
  10. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/decision_tree.py +0 -0
  11. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/knn.py +0 -0
  12. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/linear_regression.py +0 -0
  13. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/logistic_regression.py +0 -0
  14. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/random_forest.py +0 -0
  15. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder/utils.py +0 -0
  16. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder.egg-info/dependency_links.txt +0 -0
  17. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder.egg-info/requires.txt +0 -0
  18. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/aek_auto_mlbuilder.egg-info/top_level.txt +0 -0
  19. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/pyproject.toml +0 -0
  20. {aek_auto_mlbuilder-0.5.0 → aek_auto_mlbuilder-0.6.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.5.0
3
+ Version: 0.6.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
@@ -4,4 +4,5 @@ from .linear_regression import LinearRegressor
4
4
  from .logistic_regression import LogisticClassifier
5
5
  from .decision_tree import DecisionTreeModel
6
6
  from .knn import KNNModel
7
- from .random_forest import RandomForestModel
7
+ from .random_forest import RandomForestModel
8
+ from .svm import SVMModel
@@ -0,0 +1,47 @@
1
+ from sklearn.svm import SVC, SVR
2
+ from sklearn.preprocessing import StandardScaler
3
+ from sklearn.pipeline import make_pipeline
4
+ from .base import BaseModel
5
+
6
+
7
+ class SVMModel(BaseModel):
8
+ """
9
+ support vector machine for classification and regression
10
+ use task parameter for "regression" or "classification"
11
+ brute force is using
12
+ """
13
+ def __init__(self, task="classification", param_grid=None):
14
+ super().__init__()
15
+ self.task = task
16
+ self.param_grid = param_grid or {
17
+ "C": [0.1, 1, 10],
18
+ "kernel": ["linear", "rbf"],
19
+ "gamma": ["scale", "auto"]
20
+ }
21
+
22
+ def train(self, X, y):
23
+ best_score = -float("inf")
24
+ best_model = None
25
+
26
+ if self.task.lower() == "classification":
27
+ ModelClass = SVC
28
+ elif self.task.lower() == "regression":
29
+ ModelClass = SVR
30
+ else:
31
+ raise ValueError("task must be either classification or regression")
32
+
33
+ for C in self.param_grid["C"]:
34
+ for kernel in self.param_grid["kernel"]:
35
+ for gamma in self.param_grid["gamma"]:
36
+ model = make_pipeline(
37
+ StandardScaler(),
38
+ ModelClass(C=C, kernel=kernel, gamma=gamma)
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
+ self.best_model = best_model
46
+ self.best_score = best_score
47
+ return self.best_model
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.5.0
3
+ Version: 0.6.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
@@ -9,6 +9,7 @@ aek_auto_mlbuilder/knn.py
9
9
  aek_auto_mlbuilder/linear_regression.py
10
10
  aek_auto_mlbuilder/logistic_regression.py
11
11
  aek_auto_mlbuilder/random_forest.py
12
+ aek_auto_mlbuilder/svm.py
12
13
  aek_auto_mlbuilder/utils.py
13
14
  aek_auto_mlbuilder.egg-info/PKG-INFO
14
15
  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.5.0",
5
+ version="0.6.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",