aek-auto-mlbuilder 0.9.0__tar.gz → 0.10.1__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 (24) hide show
  1. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/PKG-INFO +1 -1
  2. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/__init__.py +2 -1
  3. aek_auto_mlbuilder-0.10.1/aek_auto_mlbuilder/agglomerative.py +40 -0
  4. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder.egg-info/PKG-INFO +1 -1
  5. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder.egg-info/SOURCES.txt +1 -0
  6. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/setup.py +1 -1
  7. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/LICENSE +0 -0
  8. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/README.md +0 -0
  9. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/base.py +0 -0
  10. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/dbscan.py +0 -0
  11. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/decision_tree.py +0 -0
  12. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/kmeans.py +0 -0
  13. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/knn.py +0 -0
  14. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/linear_regression.py +0 -0
  15. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/logistic_regression.py +0 -0
  16. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/naive_bayes.py +0 -0
  17. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/random_forest.py +0 -0
  18. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/svm.py +0 -0
  19. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder/utils.py +0 -0
  20. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder.egg-info/dependency_links.txt +0 -0
  21. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder.egg-info/requires.txt +0 -0
  22. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/aek_auto_mlbuilder.egg-info/top_level.txt +0 -0
  23. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/pyproject.toml +0 -0
  24. {aek_auto_mlbuilder-0.9.0 → aek_auto_mlbuilder-0.10.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.9.0
3
+ Version: 0.10.1
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
@@ -8,4 +8,5 @@ from .random_forest import RandomForestModel
8
8
  from .svm import SVMModel
9
9
  from .naive_bayes import NaiveBayesModel
10
10
  from .kmeans import KMeansModel
11
- from .dbscan import DBSCANModel
11
+ from .dbscan import DBSCANModel
12
+ from .agglomerative import AgglomerativeModel
@@ -0,0 +1,40 @@
1
+ from sklearn.cluster import AgglomerativeClustering
2
+ from .base import BaseModel
3
+
4
+ class AgglomerativeModel(BaseModel):
5
+ """
6
+ Agglomerative clustering model
7
+ brute force search is being used
8
+ """
9
+
10
+ def __init__(self, param_grid=None):
11
+ super().__init__()
12
+ self.param_grid = param_grid or {
13
+ "n_clusters": [2, 3, 4, 5, 6],
14
+ "linkage": ["ward", "complete", "average", "single"]
15
+ }
16
+
17
+ def train(self, X):
18
+ best_score = -float("inf")
19
+ best_model = None
20
+
21
+ for n_clusters in self.param_grid["n_clusters"]:
22
+ for linkage in self.param_grid["linkage"]:
23
+ model = AgglomerativeClustering(
24
+ n_clusters=n_clusters,
25
+ linkage=linkage
26
+ )
27
+ labels = model.fit_predict(X)
28
+ clusters = set(labels)
29
+ score = 0
30
+ for k in clusters:
31
+ cluster_size = (labels == k).sum()
32
+ score += 1 / cluster_size
33
+ if score > best_score:
34
+ best_score = score
35
+ best_model = model
36
+
37
+ self.best_model = best_model
38
+ self.best_score = best_score
39
+ return self.best_model
40
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.9.0
3
+ Version: 0.10.1
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
@@ -3,6 +3,7 @@ README.md
3
3
  pyproject.toml
4
4
  setup.py
5
5
  aek_auto_mlbuilder/__init__.py
6
+ aek_auto_mlbuilder/agglomerative.py
6
7
  aek_auto_mlbuilder/base.py
7
8
  aek_auto_mlbuilder/dbscan.py
8
9
  aek_auto_mlbuilder/decision_tree.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="aek-auto-mlbuilder",
5
- version="0.9.0",
5
+ version="0.10.1",
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",