scipy.stats.qmc.
scale#
- scipy.stats.qmc.scale(sample, l_bounds, u_bounds, *, обратный=False)[источник]#
Масштабирование выборки из единичного гиперкуба к различным границам.
Для преобразования выборки из \([0, 1)\) to \([a, b), b>a\), с \(a\) нижние границы и \(b\) верхние границы. Используется следующее преобразование:
\[(b - a) \cdot \text{sample} + a\]- Параметры:
- samplearray_like (n, d)
Образец для масштабирования.
- l_bounds, u_boundsarray_like (d,)
Нижняя и верхняя границы (соответственно. \(a\), \(b\)) преобразованных данных. Если обратный равно True, диапазон исходных данных для преобразования в единичный гиперкуб.
- обратныйbool, необязательно
Обратное преобразование из различных границ в единичный гиперкуб. По умолчанию False.
- Возвращает:
- samplearray_like (n, d)
Масштабированная выборка.
Примеры
Преобразовать 3 выборки в единичном гиперкубе в границы:
>>> from scipy.stats import qmc >>> l_bounds = [-2, 0] >>> u_bounds = [6, 5] >>> sample = [[0.5 , 0.75], ... [0.5 , 0.5], ... [0.75, 0.25]] >>> sample_scaled = qmc.scale(sample, l_bounds, u_bounds) >>> sample_scaled array([[2. , 3.75], [2. , 2.5 ], [4. , 1.25]])
И преобразовать обратно в единичный гиперкуб:
>>> sample_ = qmc.scale(sample_scaled, l_bounds, u_bounds, reverse=True) >>> sample_ array([[0.5 , 0.75], [0.5 , 0.5 ], [0.75, 0.25]])