// Initialize with a random point
Xi[0] = _random_point(lower_bounds, upper_bounds, random_state=rng)
best_x = Xi[0].ravel()
yi[0] = best_y = func(Xi[0])
models = []
// XXX should there be an early stopping criterion?
After Change
Xi[:n_start] = _random_point(
lower_bounds, upper_bounds, n_points=n_start, random_state=rng)
best_x = Xi[:n_start].ravel()
yi[:n_start] = [func(xi) for xi in (Xi[:n_start])]
best_y = np.min(yi[:n_start])
models = []