scipy.stats.qmc.
scale#
- scipy.stats.qmc.scale(sample, l_bounds, u_bounds, *, reverse=False)[Quelle]#
Skalierung von Stichproben vom Einheits-Hyperwürfel auf verschiedene Grenzen.
Um eine Stichprobe von \([0, 1)\) nach \([a, b), b>a\) zu konvertieren, wobei \(a\) die unteren Grenzen und \(b\) die oberen Grenzen sind. Die folgende Transformation wird verwendet:
\[(b - a) \cdot \text{sample} + a\]- Parameter:
- samplearray_like (n, d)
Zu skalierende Stichprobe.
- l_bounds, u_boundsarray_like (d,)
Untere und obere Grenzen (bzw. \(a\), \(b\)) der transformierten Daten. Wenn reverse True ist, der Bereich der ursprünglichen Daten, der in den Einheits-Hyperwürfel transformiert werden soll.
- reversebool, optional
Kehrt die Transformation von verschiedenen Grenzen zum Einheits-Hyperwürfel um. Standard ist False.
- Rückgabe:
- samplearray_like (n, d)
Skalierte Stichprobe.
Beispiele
Transformieren Sie 3 Stichproben im Einheits-Hyperwürfel in Grenzen
>>> 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]])
Und konvertieren Sie zurück in den Einheits-Hyperwürfel
>>> 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]])