Spaces:
Build error
Build error
File size: 1,219 Bytes
783053f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
from fake_face_detection.utils.acquisitions import PI_acquisition
from fake_face_detection.utils.sampling import get_random_samples
from sklearn.gaussian_process import GaussianProcessRegressor
from typing import *
import numpy as np
def PI_generate_sample(X: Iterable, model: GaussianProcessRegressor, search_spaces: dict, n_tests: int = 100, maximize: bool = True):
"""Generate new samples with the probability of improvement
Args:
X (Iterable): The list of input data
model (GaussianProcessRegressor): The model to train
search_spaces (dict): The search spaces
n_tests (int, optional): The number of random samples to test. Defaults to 100.
maximize (bool, optional): The optimization strategy. If maximize == True -> maximize, else -> minimize. Defaults to True.
Returns:
List: The new sample
"""
# let us create random samples
X_prime = [list(get_random_samples(search_spaces).values()) for i in range(n_tests)]
# let us recuperate the probabilities from the acquisition function
probs = PI_acquisition(X, X_prime, model, maximize = maximize)
# let us return the best sample
return X_prime[np.argmax(probs)]
|