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.random verwendet 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_population geeignet 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])