resample#
- sklearn.utils.resample(*arrays, replace=True, n_samples=None, random_state=None, stratify=None, sample_weight=None)[Quelle]#
Resampelt Arrays oder spärliche Matrizen auf konsistente Weise.
Die Standardstrategie implementiert einen Schritt des Bootstrapping-Verfahrens.
- Parameter:
- *arraysSequenz von Array-ähnlichen Objekten der Form (n_samples,) oder (n_samples, n_outputs)
Indexierbare Datenstrukturen können Arrays, Listen, DataFrames oder Scipy Sparse Matrizen mit konsistenter erster Dimension sein.
- replacebool, Standardwert=True
Implementiert Resampling mit Zurücklegen. Dies muss auf True gesetzt werden, wenn mit nicht-uniformen Gewichten gesampelt wird: Einige Datenpunkte mit sehr großen Gewichten werden voraussichtlich mehrmals mit einer Wahrscheinlichkeit gesampelt, um die durch die Gewichte induzierte Verteilung zu erhalten. Wenn False, wird (geslicte) zufällige Permutationen implementiert.
- n_samplesint, default=None
Anzahl der zu generierenden Stichproben. Wenn auf None belassen, wird dies automatisch auf die erste Dimension der Arrays gesetzt. Wenn replace False ist, sollte es nicht größer sein als die Länge der Arrays.
- random_stateint, RandomState-Instanz oder None, default=None
Bestimmt die Zufallszahlengenerierung für das Mischen der Daten. Übergeben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg. Siehe Glossar.
- stratify{array-like, sparse matrix} der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None
Wenn nicht None, werden die Daten nach Schichten aufgeteilt, wobei dies als Klassenbezeichnungen verwendet wird.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Enthält Gewichtswerte, die jedem Sample zugeordnet werden. Werte werden normalisiert, um sich zu eins zu summieren, und als Wahrscheinlichkeit für das Sampeln jedes Datenpunkts interpretiert.
Hinzugefügt in Version 1.7.
- Gibt zurück:
- resampled_arraysSequenz von Array-ähnlichen Objekten der Form (n_samples,) oder (n_samples, n_outputs)
Sequenz von neu gesampelten Kopien der Sammlungen. Die ursprünglichen Arrays werden nicht beeinträchtigt.
Siehe auch
shuffleMischt Arrays oder spärliche Matrizen auf konsistente Weise.
Beispiele
Es ist möglich, Sparse und Dense Arrays im selben Durchlauf zu mischen
>>> import numpy as np >>> X = np.array([[1., 0.], [2., 1.], [0., 0.]]) >>> y = np.array([0, 1, 2]) >>> from scipy.sparse import coo_matrix >>> X_sparse = coo_matrix(X) >>> from sklearn.utils import resample >>> X, X_sparse, y = resample(X, X_sparse, y, random_state=0) >>> X array([[1., 0.], [2., 1.], [1., 0.]]) >>> X_sparse <Compressed Sparse Row sparse matrix of dtype 'float64' with 4 stored elements and shape (3, 2)> >>> X_sparse.toarray() array([[1., 0.], [2., 1.], [1., 0.]]) >>> y array([0, 1, 0]) >>> resample(y, n_samples=2, random_state=0) array([0, 1])
Beispiel für die Verwendung von Stratifizierung
>>> y = [0, 0, 1, 1, 1, 1, 1, 1, 1] >>> resample(y, n_samples=5, replace=False, stratify=y, ... random_state=0) [1, 1, 1, 0, 1]