2017-07-13 4 views
1

Ich versuche, Sklearns ParameterSampler zu implementieren, aber ich bin mir nicht ganz sicher, was der random_state Parameter tut.Was bewirkt der Parameter random_state in ParameterSampler von sklearn?

Meine Vermutung ist, dass wenn random_state auf None eingestellt ist, dann normale Stichproben verwendet wird. Und wenn random_state etwas anderes als None ist, dann wird Pseudo-Zufallsauswahl verwendet?

Auch ich bin mir nicht sicher, wie unterschiedliche int-Werte die Abtastung beeinflussen. Zum Beispiel ist random_state = 1 andere Form random_state = 2? Wenn ja, wie?

Antwort

3

Vom documentation:

Wenn random_stateNone oder np.random ist, dann ein zufällig initialisiert RandomState Objekt zurückgegeben.

Wenn random_state eine Ganzzahl ist, wird sie verwendet, um ein neues RandomState-Objekt zu bilden.

Wenn random_state ein RandomState Objekt ist, dann wird es durchlaufen.

Grundsätzlich durch die random_state Einstellung garantieren Sie, dass der (Pseudo-) Zufallszahlengenerator die gleiche Folge von Zufallszahlen jedes Mal erzeugt, was wiederum einen Einfluss auf die Art und Weise hat Ihre Daten abgetastet werden.

2

random_state hat keine Auswirkungen auf die Verteilung. Es ist ein Parameter, mit dem Sie konsistente Ergebnisse erhalten können. Wenn Sie es auf 1 setzen, erhalten Sie bei jeder Ausführung des Codes das gleiche Ergebnis. Wenn Sie es auf 2 setzen, wird dies ebenfalls passieren (aber wahrscheinlich mit anderen Werten als zuvor). Wenn Sie es auf "Keine" (Standardeinstellung) setzen, wird jedesmal ein zufälliger Startwert ausgewählt, und Sie erhalten unterschiedliche Ergebnisse.

Verwandte Themen