Python numpy.random() Examples
The following are 30 code examples for showing how to use numpy.random(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
numpy
, or try the search function
.
Example 1
Project: contextualbandits Author: david-cortes File: utils.py License: BSD 2-Clause "Simplified" License | 6 votes |
def partial_fit(self, X, y, classes=None): if self.partial_method == "gamma": w_all = -np.log(self .random_state .random(size=(X.shape[0], self.nsamples)) .clip(min=1e-12, max=None)) appear_times = None rng = None elif self.partial_method == "poisson": w_all = None appear_times = self.random_state.poisson(1, size = (X.shape[0], self.nsamples)) rng = np.arange(X.shape[0]) else: raise ValueError(_unexpected_err_msg) Parallel(n_jobs=self.njobs, verbose=0, require="sharedmem")\ (delayed(self._partial_fit_single)\ (sample, w_all, appear_times, rng, X, y) \ for sample in range(self.nsamples))
Example 2
Project: evolution-strategies-starter Author: openai File: viz.py License: MIT License | 6 votes |
def main(env_id, policy_file, record, stochastic, extra_kwargs): import gym from gym import wrappers import tensorflow as tf from es_distributed.policies import MujocoPolicy import numpy as np env = gym.make(env_id) if record: import uuid env = wrappers.Monitor(env, '/tmp/' + str(uuid.uuid4()), force=True) if extra_kwargs: import json extra_kwargs = json.loads(extra_kwargs) with tf.Session(): pi = MujocoPolicy.Load(policy_file, extra_kwargs=extra_kwargs) while True: rews, t = pi.rollout(env, render=True, random_stream=np.random if stochastic else None) print('return={:.4f} len={}'.format(rews.sum(), t)) if record: env.close() return
Example 3
Project: Attention-Gated-Networks Author: ozan-oktay File: myImageTransformations.py License: MIT License | 6 votes |
def elastic_transform(image, alpha=1000, sigma=30, spline_order=1, mode='nearest', random_state=np.random): """Elastic deformation of image as described in [Simard2003]_. .. [Simard2003] Simard, Steinkraus and Platt, "Best Practices for Convolutional Neural Networks applied to Visual Document Analysis", in Proc. of the International Conference on Document Analysis and Recognition, 2003. """ assert image.ndim == 3 shape = image.shape[:2] dx = gaussian_filter((random_state.rand(*shape) * 2 - 1), sigma, mode="constant", cval=0) * alpha dy = gaussian_filter((random_state.rand(*shape) * 2 - 1), sigma, mode="constant", cval=0) * alpha x, y = np.meshgrid(np.arange(shape[0]), np.arange(shape[1]), indexing='ij') indices = [np.reshape(x + dx, (-1, 1)), np.reshape(y + dy, (-1, 1))] result = np.empty_like(image) for i in range(image.shape[2]): result[:, :, i] = map_coordinates( image[:, :, i], indices, order=spline_order, mode=mode).reshape(shape) return result
Example 4
Project: recruit Author: Frank-qlu File: test_common.py License: Apache License 2.0 | 6 votes |
def test_random_state(): import numpy.random as npr # Check with seed state = com.random_state(5) assert state.uniform() == npr.RandomState(5).uniform() # Check with random state object state2 = npr.RandomState(10) assert com.random_state(state2).uniform() == npr.RandomState(10).uniform() # check with no arg random state assert com.random_state() is np.random # Error for floats or strings with pytest.raises(ValueError): com.random_state('test') with pytest.raises(ValueError): com.random_state(5.5)
Example 5
Project: recruit Author: Frank-qlu File: testing.py License: Apache License 2.0 | 6 votes |
def _create_missing_idx(nrows, ncols, density, random_state=None): if random_state is None: random_state = np.random else: random_state = np.random.RandomState(random_state) # below is cribbed from scipy.sparse size = int(np.round((1 - density) * nrows * ncols)) # generate a few more to ensure unique values min_rows = 5 fac = 1.02 extra_size = min(size + min_rows, fac * size) def _gen_unique_rand(rng, _extra_size): ind = rng.rand(int(_extra_size)) return np.unique(np.floor(ind * nrows * ncols))[:size] ind = _gen_unique_rand(random_state, extra_size) while ind.size < size: extra_size *= 1.05 ind = _gen_unique_rand(random_state, extra_size) j = np.floor(ind * 1. / nrows).astype(int) i = (ind - j * nrows).astype(int) return i.tolist(), j.tolist()
Example 6
Project: rankeval Author: hpclab File: dataset.py License: Mozilla Public License 2.0 | 6 votes |
def _check_random_state(seed): """ Turn seed into a np.random.RandomState instance (took for sklearn) Parameters ---------- seed : None | int | instance of RandomState If seed is None, return the RandomState singleton used by np.random. If seed is an int, return a new RandomState instance seeded with it. If seed is already a RandomState instance, return it. Otherwise raise ValueError. """ if seed is None or seed is np.random: return np.random.mtrand._rand if isinstance(seed, (numbers.Integral, np.integer)): return np.random.RandomState(seed) if isinstance(seed, np.random.RandomState): return seed raise ValueError('%r cannot be used to seed a numpy.random.RandomState' ' instance' % seed)
Example 7
Project: mars Author: mars-project File: utils.py License: Apache License 2.0 | 6 votes |
def check_random_state(seed): """ Turn seed into a mt.random.RandomState instance :param seed: If seed is None, return the RandomState singleton used by mt.random. If seed is an int, return a new RandomState instance seeded with seed. If seed is already a RandomState instance, return it. Otherwise raise ValueError. :return: """ from . import random as mtrand from numpy import random as np_mtrand if seed is None or seed is mtrand or seed is np_mtrand: return mtrand._random_state if isinstance(seed, (Integral, np.integer)): return mtrand.RandomState(seed) if isinstance(seed, np.random.RandomState): return mtrand.RandomState.from_numpy(seed) if isinstance(seed, mtrand.RandomState): return seed raise ValueError('%r cannot be used to seed a mt.random.RandomState' ' instance' % seed)
Example 8
Project: Text_Segmentation_Image_Inpainting Author: yu45020 File: Dataloader.py License: GNU General Public License v3.0 | 6 votes |
def __init__(self, image_folder, max_images=False, image_size=(512, 512), add_random_masks=False): super(ImageInpaintingData, self).__init__() if isinstance(image_folder, str): self.images = glob.glob(os.path.join(image_folder, "clean/*")) else: self.images = list(chain.from_iterable([glob.glob(os.path.join(i, "clean/*")) for i in image_folder])) assert len(self.images) > 0 if max_images: self.images = random.choices(self.images, k=max_images) print(f"Find {len(self.images)} images.") self.img_size = image_size self.transformer = Compose([RandomGrayscale(p=0.4), # ColorJitter(brightness=0.2, contrast=0.2, saturation=0, hue=0), ToTensor(), # Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) self.add_random_masks = add_random_masks
Example 9
Project: Text_Segmentation_Image_Inpainting Author: yu45020 File: Dataloader.py License: GNU General Public License v3.0 | 6 votes |
def random_masks(pil_img, size=512, offset=10): draw = ImageDraw.Draw(pil_img) # draw liens # can't use np.random because its not forkable under PyTorch's dataloader with multiprocessing reps = random.randint(1, 5) for i in range(reps): cords = np.array(random.choices(range(offset, size), k=4)).reshape(2, 2) cords[1] = np.clip(cords[1], a_min=cords[0] - 75, a_max=cords[0] + 75) width = random.randint(15, 20) draw.line(cords.reshape(-1).tolist(), width=width, fill=255) # # draw circles reps = random.randint(1, 5) for i in range(reps): cords = np.array(random.choices(range(offset, size - offset), k=2)) cords.sort() ex = np.array(random.choices(range(20, 70), k=2)) + cords ex = np.clip(ex, a_min=offset, a_max=size - offset) draw.ellipse(np.concatenate([cords, ex]).tolist(), fill=255) return pil_img
Example 10
Project: Text_Segmentation_Image_Inpainting Author: yu45020 File: Dataloader.py License: GNU General Public License v3.0 | 6 votes |
def __init__(self, image_folder, max_images=False, image_size=(512, 512), add_random_masks=False): super(TestDataset, self).__init__() if isinstance(image_folder, str): self.images = glob.glob(os.path.join(image_folder, "clean/*")) else: self.images = list(chain.from_iterable([glob.glob(os.path.join(i, "clean/*")) for i in image_folder])) assert len(self.images) > 0 if max_images: self.images = random.choices(self.images, k=max_images) print(f"Find {len(self.images)} images.") self.img_size = image_size self.transformer = Compose([ # RandomGrayscale(p=0.4), # ColorJitter(brightness=0.2, contrast=0.2, saturation=0, hue=0), ToTensor(), # Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) self.add_random_masks = add_random_masks
Example 11
Project: NiaPy Author: NiaOrg File: task.py License: MIT License | 6 votes |
def repair(self, x, rnd=rand): r"""Repair solution and put the solution in the random position inside of the bounds of problem. Arguments: x (numpy.ndarray): Solution to check and repair if needed. rnd (mtrand.RandomState): Random number generator. Returns: numpy.ndarray: Fixed solution. See Also: * :func:`NiaPy.util.limitRepair` * :func:`NiaPy.util.limitInversRepair` * :func:`NiaPy.util.wangRepair` * :func:`NiaPy.util.randRepair` * :func:`NiaPy.util.reflectRepair` """ return self.frepair(x, self.Lower, self.Upper, rnd=rnd)
Example 12
Project: NiaPy Author: NiaOrg File: hc.py License: MIT License | 6 votes |
def Neighborhood(x, delta, task, rnd=rand): r"""Get neighbours of point. Args: x numpy.ndarray: Point. delta (float): Standard deviation. task (Task): Optimization task. rnd (Optional[mtrand.RandomState]): Random generator. Returns: Tuple[numpy.ndarray, float]: 1. New solution. 2. New solutions function/fitness value. """ X = x + rnd.normal(0, delta, task.D) X = task.repair(X, rnd) Xfit = task.eval(X) return X, Xfit
Example 13
Project: NiaPy Author: NiaOrg File: aso.py License: MIT License | 6 votes |
def Elitism(x, xpb, xb, xr, MP_c, MP_s, MP_p, F, CR, task, rnd=rand): r"""Select the best of all three strategies. Args: x (numpy.ndarray): individual position. xpb (numpy.ndarray): individuals best position. xb (numpy.ndarray): current best position. xr (numpy.ndarray): random individual. MP_c (float): Fickleness index value. MP_s (float): External irregularity index value. MP_p (float): Internal irregularity index value. F (float): scale factor. CR (float): crossover factor. task (Task): optimization task. rnd (mtrand.randomstate): random number generator. Returns: Tuple[numpy.ndarray, float]: 1. New position of individual 2. New positions fitness/function value """ xn = [task.repair(MP_C(x, F, CR, MP_c, rnd), rnd=rnd), task.repair(MP_S(x, xr, xb, CR, MP_s, rnd), rnd=rnd), task.repair(MP_P(x, xpb, CR, MP_p, rnd), rnd=rnd)] xn_f = apply_along_axis(task.eval, 1, xn) ib = argmin(xn_f) return xn[ib], xn_f[ib]
Example 14
Project: NiaPy Author: NiaOrg File: aso.py License: MIT License | 6 votes |
def Sequential(x, xpb, xb, xr, MP_c, MP_s, MP_p, F, CR, task, rnd=rand): r"""Sequentialy combines all three strategies. Args: x (numpy.ndarray): individual position. xpb (numpy.ndarray): individuals best position. xb (numpy.ndarray): current best position. xr (numpy.ndarray): random individual. MP_c (float): Fickleness index value. MP_s (float): External irregularity index value. MP_p (float): Internal irregularity index value. F (float): scale factor. CR (float): crossover factor. task (Task): optimization task. rnd (mtrand.randomstate): random number generator. Returns: tuple[numpy.ndarray, float]: 1. new position 2. new positions function/fitness value """ xn = task.repair(MP_S(MP_P(MP_C(x, F, CR, MP_c, rnd), xpb, CR, MP_p, rnd), xr, xb, CR, MP_s, rnd), rnd=rnd) return xn, task.eval(xn)
Example 15
Project: NiaPy Author: NiaOrg File: aso.py License: MIT License | 6 votes |
def Crossover(x, xpb, xb, xr, MP_c, MP_s, MP_p, F, CR, task, rnd=rand): r"""Create a crossover over all three strategies. Args: x (numpy.ndarray): individual position. xpb (numpy.ndarray): individuals best position. xb (numpy.ndarray): current best position. xr (numpy.ndarray): random individual. MP_c (float): Fickleness index value. MP_s (float): External irregularity index value. MP_p (float): Internal irregularity index value. F (float): scale factor. CR (float): crossover factor. task (Task): optimization task. rnd (mtrand.randomstate): random number generator. Returns: Tuple[numpy.ndarray, float]: 1. new position 2. new positions function/fitness value """ xns = [task.repair(MP_C(x, F, CR, MP_c, rnd), rnd=rnd), task.repair(MP_S(x, xr, xb, CR, MP_s, rnd), rnd=rnd), task.repair(MP_P(x, xpb, CR, MP_p, rnd), rnd=rnd)] x = asarray([xns[rnd.randint(len(xns))][i] if rnd.rand() < CR else x[i] for i in range(len(x))]) return x, task.eval(x)
Example 16
Project: NiaPy Author: NiaOrg File: aso.py License: MIT License | 6 votes |
def MP_C(x, F, CR, MP, rnd=rand): r"""Get bew position based on fickleness. Args: x (numpy.ndarray): Current individuals position. F (float): Scale factor. CR (float): Crossover probability. MP (float): Fickleness index value rnd (mtrand.RandomState): Random number generator Returns: numpy.ndarray: New position """ if MP < 0.5: b = sort(rnd.choice(len(x), 2, replace=False)) x[b[0]:b[1]] = x[b[0]:b[1]] + F * rnd.normal(0, 1, b[1] - b[0]) return x return asarray([x[i] + F * rnd.normal(0, 1) if rnd.rand() < CR else x[i] for i in range(len(x))])
Example 17
Project: NiaPy Author: NiaOrg File: aso.py License: MIT License | 6 votes |
def MP_S(x, xr, xb, CR, MP, rnd=rand): r"""Get new position based on external irregularity. Args: x (numpy.ndarray): Current individuals position. xr (numpy.ndarray): Random individuals position. xb (numpy.ndarray): Global best individuals position. CR (float): Crossover probability. MP (float): External irregularity index. rnd (mtrand.RandomState): Random number generator. Returns: numpy.ndarray: New position. """ if MP < 0.25: b = sort(rnd.choice(len(x), 2, replace=False)) x[b[0]:b[1]] = xb[b[0]:b[1]] return x elif MP < 0.5: return asarray([xb[i] if rnd.rand() < CR else x[i] for i in range(len(x))]) elif MP < 0.75: b = sort(rnd.choice(len(x), 2, replace=False)) x[b[0]:b[1]] = xr[b[0]:b[1]] return x return asarray([xr[i] if rnd.rand() < CR else x[i] for i in range(len(x))])
Example 18
Project: NiaPy Author: NiaOrg File: ca.py License: MIT License | 6 votes |
def nextX(self, cb, E_init, S_init, task, rnd=rand): r"""Apply function nextX on Camel. This method/function move this Camel to new position in search space. Args: cb (Camel): Best Camel in population. E_init (float): Starting endurance of camel. S_init (float): Starting supply of camel. task (Task): Optimization task. rnd (Optional[mtrand.RandomState]): Random number generator. """ delta = -1 + rnd.rand() * 2 self.x = self.x_past + delta * (1 - (self.E / E_init)) * exp(1 - self.S / S_init) * (cb - self.x_past) if not task.isFeasible(self.x): self.x = self.x_past else: self.f = task.eval(self.x)
Example 19
Project: NiaPy Author: NiaOrg File: cro.py License: MIT License | 6 votes |
def SexualCrossoverSimple(pop, p, task, rnd=rand, **kwargs): r"""Sexual reproduction of corals. Args: pop (numpy.ndarray): Current population. p (float): Probability in range [0, 1]. task (Task): Optimization task. rnd (mtrand.RandomState): Random generator. **kwargs (Dict[str, Any]): Additional arguments. Returns: Tuple[numpy.ndarray, numpy.ndarray]: 1. New population. 2. New population function/fitness values. """ for i in range(len(pop) // 2): pop[i] = asarray([pop[i, d] if rnd.rand() < p else pop[i * 2, d] for d in range(task.D)]) return pop, apply_along_axis(task.eval, 1, pop)
Example 20
Project: NiaPy Author: NiaOrg File: cro.py License: MIT License | 6 votes |
def BroodingSimple(pop, p, task, rnd=rand, **kwargs): r"""Brooding or internal sexual reproduction of corals. Args: pop (numpy.ndarray): Current population. p (float): Probability in range [0, 1]. task (Task): Optimization task. rnd (mtrand.RandomState): Random generator. **kwargs (Dict[str, Any]): Additional arguments. Returns: Tuple[numpy.ndarray, numpy.ndarray]: 1. New population. 2. New population function/fitness values. """ for i in range(len(pop)): pop[i] = task.repair(asarray([pop[i, d] if rnd.rand() < p else task.Lower[d] + task.bRange[d] * rnd.rand() for d in range(task.D)]), rnd=rnd) return pop, apply_along_axis(task.eval, 1, pop)
Example 21
Project: NiaPy Author: NiaOrg File: es.py License: MIT License | 6 votes |
def runIteration(self, task, c, fpop, xb, fxb, **dparams): r"""Core function of EvolutionStrategyML algorithm. Args: task (Task): Optimization task. c (numpy.ndarray): Current population. fpop (numpy.ndarray): Current population fitness/function values. xb (numpy.ndarray): Global best individual. fxb (float): Global best individuals fitness/function value. **dparams Dict[str, Any]: Additional arguments. Returns: Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, float, Dict[str, Any]]: 1. New population. 2. New populations fitness/function values. 3. New global best solution. 4. New global best solutions fitness/objective value. 5. Additional arguments. """ cn = objects2array([IndividualES(x=self.mutateRand(c, task), task=task, rand=self.Rand) for _ in range(self.lam)]) c = self.newPop(cn) fc = asarray([x.f for x in c]) xb, fxb = self.getBest(c, fc, xb, fxb) return c, fc, xb, fxb, {}
Example 22
Project: NiaPy Author: NiaOrg File: de.py License: MIT License | 6 votes |
def popDecrement(self, pop, task): r"""Decrement population. Args: pop (numpy.ndarray): Current population. task (Task): Optimization task. Returns: numpy.ndarray[Individual]: Decreased population. """ deltapop = int(round(max(1, self.NP * self.deltaPopC(task.Iters)))) if len(pop) - deltapop <= 0: return pop ni = self.Rand.choice(len(pop), deltapop, replace=False) npop = [] for i, e in enumerate(pop): if i not in ni: npop.append(e) elif self.rand() >= self.omega: npop.append(e) return objects2array(npop)
Example 23
Project: lambda-packs Author: ryfeus File: _util.py License: MIT License | 6 votes |
def check_random_state(seed): """Turn seed into a np.random.RandomState instance If seed is None (or np.random), return the RandomState singleton used by np.random. If seed is an int, return a new RandomState instance seeded with seed. If seed is already a RandomState instance, return it. Otherwise raise ValueError. """ if seed is None or seed is np.random: return np.random.mtrand._rand if isinstance(seed, (numbers.Integral, np.integer)): return np.random.RandomState(seed) if isinstance(seed, np.random.RandomState): return seed raise ValueError('%r cannot be used to seed a numpy.random.RandomState' ' instance' % seed)
Example 24
Project: lambda-packs Author: ryfeus File: _multivariate.py License: MIT License | 6 votes |
def rvs(self, alpha, size=1, random_state=None): """ Draw random samples from a Dirichlet distribution. Parameters ---------- %(_dirichlet_doc_default_callparams)s size : int, optional Number of samples to draw (default 1). %(_doc_random_state)s Returns ------- rvs : ndarray or scalar Random variates of size (`size`, `N`), where `N` is the dimension of the random variable. """ alpha = _dirichlet_check_parameters(alpha) random_state = self._get_random_state(random_state) return random_state.dirichlet(alpha, size=size)
Example 25
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: common.py License: Apache License 2.0 | 5 votes |
def random_seed(seed=None): """ Runs a code block with a new seed for np, mx and python's random. Parameters ---------- seed : the seed to pass to np.random, mx.random and python's random. To impose rng determinism, invoke e.g. as in: with random_seed(1234): ... To impose rng non-determinism, invoke as in: with random_seed(): ... Upon conclusion of the block, the rng's are returned to a state that is a function of their pre-block state, so any prior non-determinism is preserved. """ try: next_seed = np.random.randint(0, np.iinfo(np.int32).max) if seed is None: np.random.seed() seed = np.random.randint(0, np.iinfo(np.int32).max) logger = default_logger() logger.debug('Setting np, mx and python random seeds = %s', seed) np.random.seed(seed) mx.random.seed(seed) random.seed(seed) yield finally: # Reinstate prior state of np.random and other generators np.random.seed(next_seed) mx.random.seed(next_seed) random.seed(next_seed)
Example 26
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: common.py License: Apache License 2.0 | 5 votes |
def random_seed(seed=None): """ Runs a code block with a new seed for np, mx and python's random. Parameters ---------- seed : the seed to pass to np.random, mx.random and python's random. To impose rng determinism, invoke e.g. as in: with random_seed(1234): ... To impose rng non-determinism, invoke as in: with random_seed(): ... Upon conclusion of the block, the rng's are returned to a state that is a function of their pre-block state, so any prior non-determinism is preserved. """ try: next_seed = np.random.randint(0, np.iinfo(np.int32).max) if seed is None: np.random.seed() seed = np.random.randint(0, np.iinfo(np.int32).max) logger = default_logger() logger.debug('Setting np, mx and python random seeds = %s', seed) np.random.seed(seed) mx.random.seed(seed) random.seed(seed) yield finally: # Reinstate prior state of np.random and other generators np.random.seed(next_seed) mx.random.seed(next_seed) random.seed(next_seed)
Example 27
Project: contextualbandits Author: david-cortes File: utils.py License: BSD 2-Clause "Simplified" License | 5 votes |
def _check_random_state(random_state): if random_state is None: return np.random.Generator(np.random.MT19937()) if isinstance(random_state, np.random.Generator): return random_state elif isinstance(random_state, np.random.RandomState) or (random_state == np.random): random_state = int(random_state.randint(np.iinfo(np.int32).max) + 1) if isinstance(random_state, float): random_state = int(random_state) assert random_state > 0 return np.random.Generator(np.random.MT19937(seed = random_state))
Example 28
Project: contextualbandits Author: david-cortes File: utils.py License: BSD 2-Clause "Simplified" License | 5 votes |
def _gen_random(self, X): return self.random_state.random(size = X.shape[0])
Example 29
Project: contextualbandits Author: david-cortes File: utils.py License: BSD 2-Clause "Simplified" License | 5 votes |
def _score_rnd(self, X): if not self.ts_byrow: chosen_sample = self.random_state.integers(self.nsamples) return self._get_score(chosen_sample, X) else: pred = self._pred_by_sample(X) if not self.ts_weighted: return pred[np.arange(X.shape[0]), self.random_state.integers(self.nsamples, size=X.shape[0])] else: w = self.random_state.random(size = (X.shape[0], self.nsamples)) w[:] /= w.sum(axis=0, keepdims=True) return np.einsum("ij,ij->i", w, pred)
Example 30
Project: contextualbandits Author: david-cortes File: utils.py License: BSD 2-Clause "Simplified" License | 5 votes |
def _spawn_arm(self, fitted_classifier = None, n_w_rew = 0, n_wo_rew = 0, buffer_X = None, buffer_y = None): self.n += 1 self.rng_arm.append(self.random_state if (self.random_state == np.random) else \ _check_random_state( self.random_state.integers(np.iinfo(np.int32).max) + 1)) if self.smooth is not None: self.counters = np.c_[self.counters, np.array([n_w_rew + n_wo_rew]).reshape((1, 1)).astype(self.counters.dtype)] if (self.force_counters) or (self.thr > 0 and not self.force_fit): new_beta_col = np.array([0 if (n_w_rew + n_wo_rew) < self.thr else 1, self.alpha + n_w_rew, self.beta + n_wo_rew]).reshape((3, 1)).astype(self.beta_counters.dtype) self.beta_counters = np.c_[self.beta_counters, new_beta_col] if fitted_classifier is not None: if 'predict_proba' not in dir(fitted_classifier): fitted_classifier = _convert_decision_function_w_sigmoid(fitted_classifier) if partialfit: fitted_classifier = _add_method_predict_robust(fitted_classifier) self.algos.append(fitted_classifier) else: if self.force_fit or self.partialfit: if self.base is None: raise ValueError("Must provide a classifier when initializing with different classifiers per arm.") self.algos.append( deepcopy(self.base) ) else: if (self.force_counters) or (self.thr > 0 and not self.force_fit): self.algos.append(_BetaPredictor(self.beta_counters[:, -1][1], self.beta_counters[:, -1][2], self.rng_arm[-1])) else: self.algos.append(_ZeroPredictor()) if (self.buffer is not None): self.buffer.append(_RefitBuffer(self.refit_buffer, self.deep_copy, self.rng_arm[-1])) if (buffer_X is not None): self.buffer[-1].add_obs(bufferX, buffer_y)