Bernoulli-Verteilung mit Python NumPy implementieren

  1. Bernoulli-Verteilung
  2. Binomialverteilung
  3. Bernoulli-Verteilung mit Hilfe von NumPy in Python implementieren
Bernoulli-Verteilung mit Python NumPy implementieren

Als wirklich wichtiges Thema in der Statistik ist die Bernoulli-Verteilung ein wesentlicher Aspekt der Datenwissenschaft, des maschinellen Lernens und anderer verwandter Bereiche, da sie beim Umgang mit Daten hilft. Dieses Tutorial zeigt die Bernoulli-Distribution und wie sie mit Hilfe der NumPy-Bibliothek in Python implementiert werden kann.

Wenn wir über die Bernoulli-Verteilung sprechen, fällt uns immer der Begriff Binomialverteilung ein. Diese Begriffe sind ähnlich, unterscheiden sich jedoch in einigen ihrer Funktionsweisen.

Diese beiden Distributionen sind praktisch, um Probleme zu unterschiedlichen Zeiten zu erleichtern. Es ist wichtig, diese Begriffe zu verstehen und effektiv zu unterscheiden, wie im folgenden Artikel beschrieben.

Bernoulli-Verteilung

Einfach ausgedrückt, wenn es in einem einzigen Versuch nur zwei mögliche Ergebnisse gibt, sind diese gegebenen Daten für die Implementierung der Bernoulli-Verteilung geeignet.

Die direkte Implementierung der Bernoulli-Verteilung kann mit Hilfe der SciPy-Bibliothek erfolgen. Die NumPy-Bibliothek kann jedoch auch indirekt verwendet werden, um diese Verteilung zu implementieren.

Um es klarer zu erklären, ordnen wir der Bernoulli-Verteilung D(b) zu.

Binomialverteilung

Das Konzept der Binomialverteilung kann als etwas definiert werden, das sich mit einer Gruppe oder einem Satz von Bernoulli-Versuchen befasst. Die Nummer dieser Gruppe oder dieses Sets kann normalerweise definiert werden.

Einfacher ausgedrückt befasst sich die Binomialverteilung mit mehreren Versuchen eines einzelnen Ereignisses, im Vergleich zur Bernoulli-Verteilung, die sich mit einem einzelnen Versuch eines einzelnen Ereignisses befasst.

In Bezug auf die oben getroffene Zuordnung der Bernoulli-Verteilung als D(b) würde die Binomialverteilung als D(n,b) zugeordnet werden. Diese Zuordnung spiegelt die Beziehung zwischen diesen Begriffen wider.

Bernoulli-Verteilung mit Hilfe von NumPy in Python implementieren

Sie müssen sich fragen, welche Bedeutung die Binomialverteilung hat, wenn Sie über die Bernoulli-Verteilung sprechen. Nun, es gibt eine große Bedeutung.

Die NumPy-Bibliothek verwendet direkt die Funktion NumPy.random.binomial(), um die Binomialverteilung zu implementieren. Die Syntax der Funktion NumPy.random.binomial() ist unten zu sehen.

random.binomial(n, p, size=None)

Die Parameter dieser Funktion sind für ein klareres Verständnis des Benutzers definiert.

  • n: Dies ist die Anzahl der Versuche. Er kann als Float oder Integer eingegeben werden, wird aber schließlich in einen Int-Wert gekürzt.
  • p: Dies ist die Erfolgswahrscheinlichkeit; er wird immer größer als 0 oder kleiner als 1 sein. Es ist ein Float-Wert.
  • size: Dies hilft, die Form der Ausgabe bereitzustellen. Bei der Einstellung None liefert es nur einen einzigen Wert.

Wenn wir in diesem Fall den Wert der Anzahl der Sätze von Bernoulli-Versuchen mit 1 angeben, können wir die Bernoulli-Verteilung indirekt in die Binomialverteilung implementieren.

Der folgende Code verwendet die Funktion NumPy.random.binomial, um die Bernoulli-Verteilung in Python zu implementieren.

Wir nehmen ein Beispiel einer Münze (mit nur zwei Möglichkeiten, Kopf und Zahl), die viermal geworfen wird. Wenn wir n als 1 nehmen, handelt es sich eher um eine Bernoulli-Verteilung als um eine Binomialverteilung, wie wir im Code vorgehen werden.

import numpy as dragon
n = 1
p = 0.5
x = dragon.random.binomial(n, p, size=4)
print(x)

Der obige Code liefert die folgende Ausgabe:

[1 0 0 1]

Hier haben wir das Ergebnis des 4-maligen Werfens einer einzelnen Münze gezeigt. Es ist wichtig zu beachten, dass, da es sich um einen zufälligen Versuch handelt, eine erneute Ausführung des Programms wahrscheinlich einen anderen Satz von Ausgaben erzeugen würde.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn