Код: Выделить всё
mu, sig = gprMdl.predict(candidate_pts, return_std=True)
File "filepath_hidden/python/3.9.8/lib/python3.9/site-packages/sklearn/gaussian_process/_gpr.py", line 371, in predict
X = self._validate_data(X, ensure_2d=ensure_2d, dtype=dtype, reset=False)
File "filepath_hidden/python/3.9.8/lib/python3.9/site-packages/sklearn/base.py", line 561, in _validate_data
X = check_array(X, **check_params)
File "filepath_hidden/python/3.9.8/lib/python3.9/site-packages/sklearn/utils/validation.py", line 792, in check_array
_assert_all_finite(array, allow_nan=force_all_finite == "allow-nan")
File "filepath_hidden/python/3.9.8/lib/python3.9/site-packages/sklearn/utils/validation.py", line 114, in _assert_all_finite
raise ValueError(
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Моей следующей мыслью было то, что это было вызвано какой-то проблемой обработки, поскольку фильтр Тан, примененный к данным, потенциально мог создать большое количество значений выходных данных, которые примерно равны -1 или 1. , но это не так, поскольку число обусловленности для ядра GP, оцененное в его входных точках данных, остается постоянным на уровне 1e7 во всех предыдущих моделях, построенных с теми же данными, за исключением самой последней точки данных. И удаление или ослабление фильтра не имели никакого эффекта.
- Изменить: в случайно сгенерированных оценочных точках нет NaN.
Поэтому я должен спросить, что может быть причиной этого?
Подробнее здесь: https://stackoverflow.com/questions/786 ... -large-for