Fix ConvergenceWarning in `plot_gpr_on_structured_data.py` example

This issue is about addressing a `ConvergenceWarning` that occurs when running the `examples/gaussian_process/plot_gpr_on_structured_data.py `example in CI (also when building the documentation locally).

The example creates three plots. The last use case on a classification of DNA sequences throws a `ConvergenceWarning` related to the `baseline_similarity_bounds` defined in a custom kernel when fitting. It seems that the lower bound is pushed resulting in the lack of convergence.

This occurs with the setting `baseline_similarity_bounds=(1e-5, 1))` in the custom kernel.

Even setting `baseline_similarity_bounds=(1e-40, 1)) ` results in the same warning:
```
ConvergenceWarning: The optimal value found for dimension 0 of parameter baseline_similarity is close to the specified lower bound 1e-40. Decreasing the bound and calling fit again may find a better value.
```

Lowering the bound further with `baseline_similarity_bounds=(1e-50, 1)) ` results in a different warning stemming from `lbfgs`:
```
ConvergenceWarning: lbfgs failed to converge (status=2): ABNORMAL: .
Increase the number of iterations (max_iter) or scale the data as shown in: https://scikit-learn.org/stable/modules/preprocessing.html
```

It would be preferable to resolve this so the example can be build without displaying warnings.


While being at the example, other small improvements are welcome (for instance fixing the typo in "use of kernel functions that operates" (the s in operates)).

COMMENT:
Hi @StefanieSenger and @jeremiedbb , I stumbled upon this issue and I have looked into it since it has been idle for some time now. I think it is really interesting.

- The safest way to address this issue is to freeze the `baseline_similarity_bounds` parameter to fixed instead of optimizing (That instantly fixes the issue).

- The other option was to make sure the lower bound of `baseline_similarity_bounds` lower enough so that optimization can converge. But you tried that already and got another warning of 

``` ConvergenceWarning: lbfgs failed to converge (status=2):
ABNORMAL: . Increase the number of iterations (max_iter) or scale the data as shown in:
    https://scikit-learn.org/stable/modules/preprocessing.html
  _check_optimize_result("lbfgs", opt_res)
```

Upon looking into this warning, I thought maybe then increasing the `max_iter_predict` in
`gp = GaussianProcessClassifier(kernel, max_iter_predict=500_000_000)` will fix it but `max_iter_predict` does not control the iterations of the optimizer at all. So I looked at the optimizer code here [_lbfgsb_py.py](https://github.com/scipy/scipy/blob/7ecbcb8c2ebcbb8c87d2fc98a98bbc9f7e34f497/scipy/optimize/_lbfgsb_py.py#L92) and I found that the default value of the `max_iter` is 15000. This means that the only way to solve the issue then is to create a custom optimizer with the required max_iteration and put it in `gp = GaussianProcessClassifier(kernel=kernel, optimizer=custom_optimizer)` . 

I would just go with the first option of freezing the `baseline_similarity_bounds` parameter to `fixed` because it also follows the style used in the project's unit tests for e.g [test_gpr.py](https://github.com/scikit-learn/scikit-learn/blob/1527b1fe98d129f85f9a3c5cd0358214247d236b/sklearn/gaussian_process/tests/test_gpr.py#L69)

Labels: help wanted, Needs Investigation