Zufällige Datenverteilung


Was ist Datenverteilung?

Die Datenverteilung ist eine Liste aller möglichen Werte und wie oft jeder Wert vorkommt.

Solche Listen sind wichtig, wenn man mit Statistik und Data Science arbeitet.

Das Zufallsmodul bietet Methoden, die zufällig generierte Datenverteilungen zurückgeben.


Zufällige Verteilung

Eine Zufallsverteilung ist eine Menge von Zufallszahlen, die einer bestimmten Wahrscheinlichkeitsdichtefunktion folgen .

Wahrscheinlichkeitsdichtefunktion: Eine Funktion, die eine kontinuierliche Wahrscheinlichkeit beschreibt. dh Wahrscheinlichkeit aller Werte in einem Array.

choice()Mit der Methode des randomModuls können wir Zufallszahlen auf Basis definierter Wahrscheinlichkeiten generieren .

Die choice()Methode ermöglicht es uns, die Wahrscheinlichkeit für jeden Wert anzugeben.

Die Wahrscheinlichkeit wird durch eine Zahl zwischen 0 und 1 festgelegt, wobei 0 bedeutet, dass der Wert niemals auftritt und 1 bedeutet, dass der Wert immer auftritt.

Beispiel

Generieren Sie ein 1-D-Array mit 100 Werten, wobei jeder Wert 3, 5, 7 oder 9 sein muss.

Die Wahrscheinlichkeit für den Wert 3 wird auf 0,1 gesetzt

Die Wahrscheinlichkeit für den Wert 5 wird auf 0,3 gesetzt

Die Wahrscheinlichkeit für den Wert 7 wird auf 0,6 gesetzt

Die Wahrscheinlichkeit für den Wert 9 wird auf 0 gesetzt

from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(100))

print(x)

Die Summe aller Wahrscheinlichkeitszahlen sollte 1 sein.

Selbst wenn Sie das obige Beispiel 100 Mal ausführen, wird der Wert 9 niemals auftreten.

Sie können Arrays beliebiger Form und Größe zurückgeben, indem Sie die Form im sizeParameter angeben.

Beispiel

Gleiches Beispiel wie oben, aber Rückgabe eines 2-D-Arrays mit 3 Zeilen, die jeweils 5 Werte enthalten.

from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(3, 5))

print(x)