2016-12-26 2 views
0
numpy.random.seed(7) 

In verschiedenen Tutorials zum maschinellen Lernen und zur Datenanalyse habe ich diesen Seedsatz mit einer anderen Nummer angezeigt. Macht es einen wirklichen Unterschied bei der Auswahl einer bestimmten Saatgutnummer? Oder irgendeine Zahl ist gut? Das Ziel der Auswahl einer Samenzahl ist die Reproduzierbarkeit derselben Experimente.Zufallszahl seed in numpy

+0

Ja, eine beliebige Zahl wird ausreichen. Es ist nur für die Reproduzierbarkeit. – user2314737

+0

Kein Unterschied? Manche Leute benutzen eine sehr große Nummer, manche benutzen eine kleine Nummer. Dann warum nicht eine Funktion numpy.random.seed() mit einem Standard-Seed in der Implementierung? Benutzer müssen keinen Samen hineingeben. Ich fürchte, die Samen haben einen Nutzen. – user697911

Antwort

2

Wenn Sie den gleichen Seed liefern, erhalten Sie jedes Mal, wenn das Programm ausgeführt wird, die gleichen Ergebnisse. Dies ist beim Entwickeln/Testen hilfreich, um immer wieder die gleichen Ergebnisse zu erhalten.

Wenn Ihre App "in Produktion" ist, ändern Sie die Seed-Quelle in etwas Dynamisches, wie die aktuelle Zeit (oder etwas weniger vorhersagbares), um "typisches zufälliges Verhalten" zu haben. Wenn Sie keinen Seed angeben, werden viele Generatoren standardmäßig auf die aktuelle Zeit als Millisekunden seit einer bestimmten Epoche zurückgesetzt.

Die tatsächliche Nummer spielt keine Rolle. Ich benutze meine Schul-ID-Nummer (9 Ziffern), nur aus Gewohnheit, seit ich es gründlich auswendig gelernt habe, verwende aber auch kurze 2-stellige Zahlen für schnelle Tests, wenn ich möchte, dass es reproduzierbar ist.

+0

Warum brauchen Sie in der Produktion noch diese Zufallszahl, da Sie nicht dasselbe Ergebnis erhalten müssen? – user697911

+0

Schul-ID ist zu lang. benutze einfach '0' oder '1'? – user697911

+0

@ user697911 Wenn Sie in vielen Sprachen/Bibliotheken keine Nummer angeben, wird standardmäßig die aktuelle Uhrzeit verwendet. Dies könnte potentiell gefährlich sein, wenn Sie etwas wie Lotteriesoftware schreiben, wo solch ein Standardverhalten die Zufallszahlen vorhersagbar machen könnte; vor allem, wenn der Endbenutzer weiß/kann, was die Zufallszahlenquelle ist. – Carcigenicate