aek-auto-mlbuilder 0.8.2__py3-none-any.whl → 0.10.0__py3-none-any.whl

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.
@@ -7,4 +7,6 @@ from .knn import KNNModel
7
7
  from .random_forest import RandomForestModel
8
8
  from .svm import SVMModel
9
9
  from .naive_bayes import NaiveBayesModel
10
- from .kmeans import KMeansModel
10
+ from .kmeans import KMeansModel
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
+
@@ -0,0 +1,31 @@
1
+ from sklearn.cluster import DBSCAN
2
+ from .base import BaseModel
3
+
4
+ class DBSCANModel(BaseModel):
5
+ """
6
+ DBSCAN clustering model (unsupervised learning)
7
+ brute force searching is being used
8
+ """
9
+ def __init__(self, param_grid=None):
10
+ super().__init__()
11
+ self.param_grid = param_grid or {
12
+ "eps": [0.3, 0.5, 0.7, 1.0],
13
+ "min_samples": [3, 5, 10]
14
+ }
15
+
16
+ def train(self, X):
17
+ best_score = -float("inf")
18
+ best_model = None
19
+
20
+ for eps in self.param_grid["eps"]:
21
+ for min_samples in self.param_grid["min_samples"]:
22
+ model = DBSCAN(eps=eps, min_samples=min_samples)
23
+ labels = model.fit_predict(X)
24
+
25
+ score = len(labels) - (labels == -1).sum()
26
+ if score > best_score:
27
+ best_score = score
28
+ best_model = model
29
+ self.best_model = best_model
30
+ self.best_score = best_score
31
+ return self.best_model
@@ -5,7 +5,7 @@ from .base import BaseModel
5
5
  class KMeansModel(BaseModel):
6
6
  """
7
7
  K-Means clustering model (unsupervised learning)
8
- Brute force method has been using
8
+ Brute force method is being used
9
9
  """
10
10
  def __init__(self, param_grid=None):
11
11
  super().__init__()
aek_auto_mlbuilder/knn.py CHANGED
@@ -8,7 +8,7 @@ class KNNModel(BaseModel):
8
8
  """
9
9
  KNN model for classification for classification or regression
10
10
  Use "task" for "classification" or "regression"
11
- Brute-force search has been using
11
+ Brute-force search is being used
12
12
  """
13
13
  def __init__(self, task="classification", param_grid=None):
14
14
  super().__init__()
@@ -6,7 +6,7 @@ class NaiveBayesModel(BaseModel):
6
6
  """
7
7
  Naive bayes model supporting gaussianNB, multinomialNB, bernoulliNB
8
8
  use 'nb_type' param to specify the variant: gaussian, multinomial, bernoulli
9
- brute force hyperparameter search has been using
9
+ brute force hyperparameter search is being used
10
10
  """
11
11
  def __init__(self, nb_type="gaussian", param_grid=None):
12
12
  super().__init__()
@@ -5,7 +5,7 @@ class RandomForestModel(BaseModel):
5
5
  """
6
6
  Random Forest model for classification or regression
7
7
  Use task either "classification" or "regression"
8
- brute force method has been using
8
+ brute force method is being used
9
9
  """
10
10
  def __init__(self, task="classification", param_grid=None):
11
11
  super().__init__()
aek_auto_mlbuilder/svm.py CHANGED
@@ -8,7 +8,7 @@ class SVMModel(BaseModel):
8
8
  """
9
9
  support vector machine for classification and regression
10
10
  use task parameter for "regression" or "classification"
11
- brute force has been using
11
+ brute force is being used
12
12
  """
13
13
  def __init__(self, task="classification", param_grid=None):
14
14
  super().__init__()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aek-auto-mlbuilder
3
- Version: 0.8.2
3
+ Version: 0.10.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,18 @@
1
+ aek_auto_mlbuilder/__init__.py,sha256=7CehkJhvgV-aXCeAOHTRQ02XfpmzxQ3M4QgluGBPysA,449
2
+ aek_auto_mlbuilder/agglomerative.py,sha256=fqxvJien430QCCdPFn997BqLNshYn8JmG5hFnQFSzko,1260
3
+ aek_auto_mlbuilder/base.py,sha256=GgMdAoceRjwz3i9rVQ0RAjvn5ZdRS-sAkLWjymbE8s0,385
4
+ aek_auto_mlbuilder/dbscan.py,sha256=Z9jXoixn7L2WFOHChkWaiZ9sj_Qo0j5R7_kNMacL0ik,986
5
+ aek_auto_mlbuilder/decision_tree.py,sha256=OImOHaREz2jWcANXVC6VKcatFJfzrtyCHJKXNA5-hoI,1606
6
+ aek_auto_mlbuilder/kmeans.py,sha256=h6OPk-8QtpoQLTrinv-J20Yfw5lLlNZtJ7BGT7pgwOY,1410
7
+ aek_auto_mlbuilder/knn.py,sha256=2hyB0-Uh_-ljkZ8xZKKp6WXCECihUoCYxccqjh1YkAI,1727
8
+ aek_auto_mlbuilder/linear_regression.py,sha256=MtOSRiXDIJPd3abnz4yNT4DBtrkmvEy00Kbx4AFk4Kg,1259
9
+ aek_auto_mlbuilder/logistic_regression.py,sha256=lp9-e9p9QrqL20DmhIJaSnra1SwyMiOdTfOMlgYsNQA,1707
10
+ aek_auto_mlbuilder/naive_bayes.py,sha256=UCZrLOTo7ibgwSQH5aqZgyrDvMWkM4-aQwQJDk_rnoY,2446
11
+ aek_auto_mlbuilder/random_forest.py,sha256=RpT5-QX1D6iGjRtcPFuRtqMrdmnDNklA9w3uwbtYYlM,2023
12
+ aek_auto_mlbuilder/svm.py,sha256=-IQjzHIzHhgpi2mIgWVzIDKlhAS7o_tMVQhN_epseKw,1619
13
+ aek_auto_mlbuilder/utils.py,sha256=NcoM3b4Ng1Ogk3iKuz9DcMVwppGRqOLRp5g9jBCkWxY,190
14
+ aek_auto_mlbuilder-0.10.0.dist-info/licenses/LICENSE,sha256=eSVo2jJj9FB1xvr0zZ9U1fXkyjjnT6-WM3O4HSFKJOc,133
15
+ aek_auto_mlbuilder-0.10.0.dist-info/METADATA,sha256=xUKbDAzNJiMmG5IpoB_Q2eLPfDDkvfysYFcPN7WiCBU,1401
16
+ aek_auto_mlbuilder-0.10.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
+ aek_auto_mlbuilder-0.10.0.dist-info/top_level.txt,sha256=2ZY5rMRnVvrAH2GRGUbd6n9ey8cg_uk5iJwke0hQzFE,19
18
+ aek_auto_mlbuilder-0.10.0.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
- aek_auto_mlbuilder/__init__.py,sha256=1fgkK5aJ9Y-ig87L4puE4vGEjjy8oPdrZTeGo3GuI7Q,371
2
- aek_auto_mlbuilder/base.py,sha256=GgMdAoceRjwz3i9rVQ0RAjvn5ZdRS-sAkLWjymbE8s0,385
3
- aek_auto_mlbuilder/decision_tree.py,sha256=OImOHaREz2jWcANXVC6VKcatFJfzrtyCHJKXNA5-hoI,1606
4
- aek_auto_mlbuilder/kmeans.py,sha256=9EYHSwvNkr6_DCY3IZU0ZpKsHQumOCV4PGS4OOG_nFA,1411
5
- aek_auto_mlbuilder/knn.py,sha256=ImBpgCJHTFTC9VnPI5yt53pjY91eNxUKop2PPpELQRM,1728
6
- aek_auto_mlbuilder/linear_regression.py,sha256=MtOSRiXDIJPd3abnz4yNT4DBtrkmvEy00Kbx4AFk4Kg,1259
7
- aek_auto_mlbuilder/logistic_regression.py,sha256=lp9-e9p9QrqL20DmhIJaSnra1SwyMiOdTfOMlgYsNQA,1707
8
- aek_auto_mlbuilder/naive_bayes.py,sha256=3eWeDOwUJL5BwtKH0XvhqaS2c4nnXf8EqCxvEcuqXuY,2447
9
- aek_auto_mlbuilder/random_forest.py,sha256=HDTHh9JgxyKYfFzUeZug9-mVoNy5jQ0v7lVSigBRPR8,2024
10
- aek_auto_mlbuilder/svm.py,sha256=mMIT30Cc2JGMVat_2IcYCGWE3M23EcunWZNWcAL2ZG0,1620
11
- aek_auto_mlbuilder/utils.py,sha256=NcoM3b4Ng1Ogk3iKuz9DcMVwppGRqOLRp5g9jBCkWxY,190
12
- aek_auto_mlbuilder-0.8.2.dist-info/licenses/LICENSE,sha256=eSVo2jJj9FB1xvr0zZ9U1fXkyjjnT6-WM3O4HSFKJOc,133
13
- aek_auto_mlbuilder-0.8.2.dist-info/METADATA,sha256=p3EnOIQXbtYi-EK37PPndH-kPNPe-CMdv5EpK_cRjzE,1400
14
- aek_auto_mlbuilder-0.8.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
- aek_auto_mlbuilder-0.8.2.dist-info/top_level.txt,sha256=2ZY5rMRnVvrAH2GRGUbd6n9ey8cg_uk5iJwke0hQzFE,19
16
- aek_auto_mlbuilder-0.8.2.dist-info/RECORD,,