Passed
Push — master ( 193da7...4bb259 )
by Simon
01:36 queued 11s
created

hyperactive.hyperactive_api   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 37
dl 0
loc 50
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A Hyperactive.run() 0 6 1
A Hyperactive.__init__() 0 11 1
A Hyperactive.add_search() 0 20 1
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
from .general_optimizer import Optimizer
6
7
8
class Hyperactive:
9
    def __init__(
10
        self, X, y, random_state=None, verbosity=3, warnings=False, ext_warnings=False,
11
    ):
12
        self.X = X
13
        self.y = y
14
        self.opt = Optimizer(
15
            random_state=random_state,
16
            verbosity=verbosity,
17
            warnings=warnings,
18
            ext_warnings=ext_warnings,
19
            hyperactive=True,
20
        )
21
22
    def add_search(
23
        self,
24
        model,
25
        search_space,
26
        n_iter=10,
27
        function_parameter=None,
28
        optimizer="RandomSearch",
29
        n_jobs=1,
30
        init_para=[],
31
        memory="short",
32
    ):
33
        self.opt.add_search(
34
            objective_function=model,
35
            search_space=search_space,
36
            function_parameter={"features": self.X, "target": self.y},
37
            n_iter=n_iter,
38
            optimizer=optimizer,
39
            n_jobs=n_jobs,
40
            init_para=init_para,
41
            memory=memory,
42
        )
43
44
    def run(self, max_time=None):
45
        self.opt.run(max_time=max_time)
46
47
        self.position_results = self.opt.position_results
48
        self.eval_times = self.opt.eval_times
49
        self.iter_times = self.opt.iter_times
50
        # self.best_para = self.search.results
51
        # self.best_score = self.search.results
52