Welche Bedeutung hat random_state in train_test_split? [Duplikat]

Nov 28 2020

Welche Bedeutung hat random_state = 0 in dieser bestimmten Zeile?

X_train, X_test, y_train, y_test = train_test_split(X,  y, test_size = 0.25, random_state = 0)

Antworten

1 ombk Nov 28 2020 at 02:18

Der Zufallsstatus ist ein Parameter, mit dem festgelegt wird, wie die Daten abgetastet werden. Wenn Sie also dasselbe Modell reproduzieren möchten, für das Sie einen beliebigen Wert ausgewählt haben, random_stateund wenn Sie Ihren Code das nächste Mal ausführen, erhalten Sie dieselbe Datenaufteilung.

Beispiel Sie haben eine list1=[1,2,3,4], sagen wir, Sie können eine random_statefür die Permutation hinzufügen , denn random_state=0die Liste1 wird sein [2,3,4,1], denn random_state=2es könnte [3,1,4,2]etc sein ... dasselbe für X_train X_testetc ...

Jede von Ihnen eingegebene Zufallszahl ergibt eine andere Aufteilung.

seralouk Nov 28 2020 at 03:42

random_stateSetzt einfach einen Startwert auf den Zufallsgenerator, sodass Ihre Zugtestaufteilungen immer deterministisch sind. Wenn Sie keinen Startwert festlegen, ist dieser jedes Mal anders.

Dokumentation :

random_state: int, RandomStateInstanz oder None, optional (Standard = None)
If int, random_stateist der vom Zufallszahlengenerator verwendete Startwert; Wenn RandomStateInstanz, random_stateist der Zufallszahlengenerator; Wenn None, ist der Zufallszahlengenerator RandomStatedie von np.random.