def __init__(self, X, y, bounds, xbounds, initial_guess, l_INI, sample_size=10000, num_ini_guess=2, alpha=10.): self.n = X.shape[1] self.sigma_inv = np.ones(self.n) # default value self.model = Kriging(self.sigma_inv, xbounds, num_ini_guess, sample_size) # Fit Kriging on the data. self.model.fit(X, y) self.input = X self.rem_eng = y self.sct = None self.alpha = alpha self.l_INI = l_INI self.initial_guess = initial_guess self.bounds = bounds
import scipy.optimize as opt all_sigs = np.zeros((len(pre.full_tab['id'].tolist()), 31)) all_improv = np.zeros_like(pre.full_tab['id'].tolist()) lb = 0.01 ub = 100. bounds = [(lb, ub)] * 31 for n, i in enumerate(pre.full_tab['id'].tolist()): a, b = pre.prep_by_id(i) print i, len(a) if len(a) == 1 or len(a) == 0: all_improv[n] = 0 continue krig = Kriging(unit_sig) krig.fit(a, b) x0 = np.ones(31) func = lambda x: -krig.f_by_sig(x) res = opt.minimize(func, x0=x0, bounds=bounds, method='SLSQP', tol=1e-5, options={ 'eps': 1e-2, 'iprint': 2, 'disp': True, 'maxiter': 100 }) # all_improv[n] = np.nan_to_num(krig.f(a[-1])[0])