def __init__(self, operators=None, n_const=0, n_rows=1, n_columns=3, n_back=1, max_iter=1000,
max_nfev=10000, lambda_=4, f_tol=0, seed=None, random_state=None, n_jobs=1, metric=mean_squared_error):
"""
:param operators: list of primitive excluding terminals
:param n_const: number of symbolic constants
:param n_rows: number of rows in the code block
:param n_columns: number of columns in the code block
:param n_back: number of rows to look back for connections
:param metric: what to optimize for
:param fun: `callable(individual)`, function to be optimized
:param random_state: an instance of np.random.RandomState, a seed integer or None
:param cls: The base class for individuals
:type cls: (optional) instance of cartesian.cgp.Cartesian
:param seed: (optional) can be passed instead of cls.
:param lambda_: number of offspring per generation
:param max_iter: maximum number of generations
:param max_nfev: maximum number of function evaluations. Important, if fun is another optimizer
:param f_tol: threshold for precision
:param n_jobs: number of jobs for joblib embarrassingly easy parallel
"""
self.operators = DEFAULT_PRIMITIVES or operators
self.constants = [Constant("c_{}".format(i)) for i in range(n_const)]
self.n_rows = n_rows
self.n_back = n_back
self.n_columns = n_columns
self.n_out = None
self.pset = None
self.res = None
self.model = None
# parameters for algorithm
self.max_nfev = max_nfev
self.max_iter = max_iter
self.lambda_ = lambda_
self.f_tol = f_tol
self.metric = metric
self.random_state = check_random_state(random_state)
self.n_jobs = n_jobs
self.seed = seed
评论列表
文章目录