sample_without_replacement#
- sklearn.utils.random.sample_without_replacement(n_population, n_samples, method='auto', random_state=None)#
Ganzzahlen ohne Zurücklegen ziehen.
Wählt n_samples ganze Zahlen aus der Menge [0, n_population) ohne Zurücklegen aus.
- Parameter:
- n_populationint
Die Größe der Menge, aus der Stichproben gezogen werden sollen.
- n_samplesint
Die Anzahl der zu ziehenden ganzen Zahlen.
- random_stateint, RandomState-Instanz oder None, default=None
Wenn int, ist random_state der Seed, der vom Zufallszahlengenerator verwendet wird; Wenn RandomState-Instanz, ist random_state der Zufallszahlengenerator; Wenn None, ist der Zufallszahlengenerator die RandomState-Instanz, die von
np.randomverwendet wird.- method{“auto”, “tracking_selection”, “reservoir_sampling”, “pool”}, default=’auto’
Wenn method == “auto”, wird das Verhältnis von n_samples / n_population verwendet, um zu bestimmen, welcher Algorithmus verwendet werden soll: Wenn das Verhältnis zwischen 0 und 0.01 liegt, wird die Tracking-Auswahl verwendet. Wenn das Verhältnis zwischen 0,01 und 0,99 liegt, wird numpy.random.permutation verwendet. Wenn das Verhältnis größer als 0,99 ist, wird Reservoir-Sampling verwendet. Die Reihenfolge der ausgewählten ganzen Zahlen ist undefiniert. Wenn eine zufällige Reihenfolge gewünscht wird, sollte die ausgewählte Teilmenge gemischt werden.
Wenn method ==”tracking_selection”, wird eine mengenbasierte Implementierung verwendet, die für
n_samples<<<n_populationgeeignet ist.Wenn method == “reservoir_sampling”, wird ein Reservoir-Sampling-Algorithmus verwendet, der für hohe Speicherbeschränkungen oder wenn O(
n_samples) ~ O(n_population) geeignet ist. Die Reihenfolge der ausgewählten ganzen Zahlen ist undefiniert. Wenn eine zufällige Reihenfolge gewünscht wird, sollte die ausgewählte Teilmenge gemischt werden.Wenn method == “pool”, ist ein poolbasierter Algorithmus besonders schnell, sogar schneller als die Tracking-Auswahlmethode. Es muss jedoch ein Vektor initialisiert werden, der die gesamte Population enthält. Wenn n_samples ~ n_population, ist die Reservoir-Sampling-Methode schneller.
- Gibt zurück:
- outndarray der Form (n_samples,)
Die gestichprobt gezogenen Teilmengen von ganzen Zahlen. Die Teilmenge der ausgewählten ganzen Zahlen ist möglicherweise nicht zufällig, siehe Argument method.
Beispiele
>>> from sklearn.utils.random import sample_without_replacement >>> sample_without_replacement(10, 5, random_state=42) array([8, 1, 5, 0, 7])