def __init__(self, hyperparameter, param_name, data, oob_strategy='resample', bandwith=0.4):
if oob_strategy not in ['resample', 'round', 'ignore']:
raise ValueError()
self.oob_strategy = oob_strategy
self.param_name = param_name
self.hyperparameter = hyperparameter
reshaped = np.reshape(data, (len(data), 1))
if self.hyperparameter.log:
if isinstance(self.hyperparameter, UniformIntegerHyperparameter):
# self.probabilities = {val: self.distrib.pdf(np.log2(val)) for val in range(self.hyperparameter.lower, self.hyperparameter.upper)}
raise ValueError('Log Integer hyperparameter not supported: %s' %param_name)
# self.distrib = gaussian_kde(np.log2(data))
# self.distrib = KernelDensity(kernel='gaussian').fit(np.log2(np.reshape(data, (len(data), 1))))
self.distrib = KernelDensity(kernel='gaussian', bandwidth=bandwith).fit(np.log2(reshaped))
else:
# self.distrib = gaussian_kde(data)
self.distrib = KernelDensity(kernel='gaussian', bandwidth=bandwith).fit(reshaped)
pass
评论列表
文章目录