def fit(self, x, y):
x = check_array(x)
_, self.n_out = y.reshape(y.shape[0], -1).shape
_, n_features = x.shape
terminals = [Symbol("x_{}".format(i)) for i in range(n_features)]
self.pset = create_pset(self.operators + terminals + self.constants)
cls = Cartesian(str(hash(self)), self.pset, n_rows=self.n_rows,
n_columns=self.n_columns, n_out=self.n_out, n_back=self.n_back)
self.res = oneplus(evaluate(x, y, self.metric), random_state=self.random_state, cls=cls, lambda_=self.lambda_,
max_iter=self.max_iter, max_nfev=self.max_nfev, f_tol=self.f_tol, n_jobs=self.n_jobs, seed=self.seed)
self.model = compile(self.res.expr)
return self
评论列表
文章目录