Implementar la distribución de Bernoulli usando Python NumPy

Vaibhhav Khetarpal 30 enero 2023
  1. Distribución Bernoulli
  2. Distribución binomial
  3. Implemente la distribución de Bernoulli con la ayuda de NumPy en Python
Implementar la distribución de Bernoulli usando Python NumPy

Como tema realmente importante en estadística, la distribución de Bernoulli es un aspecto esencial de la ciencia de datos, el aprendizaje automático y otros campos relacionados porque ayuda a manejar los datos. Este tutorial demostrará la distribución de Bernoulli y cómo se puede implementar en Python con la ayuda de la biblioteca NumPy.

Cuando hablamos de distribución de Bernoulli, siempre viene a la mente el término Distribución Binomial. Estos términos son similares pero difieren en algunos de sus funcionamientos.

Estas dos distribuciones son útiles para facilitar los problemas en diferentes momentos. Es importante comprender y diferenciar efectivamente entre estos términos, como se describe en el artículo a continuación.

Distribución Bernoulli

En términos simples, cuando solo hay dos resultados posibles en un solo ensayo, estos datos dados son apropiados para implementar la distribución de Bernoulli.

La implementación directa de la distribución de Bernoulli se puede realizar con la ayuda de la biblioteca SciPy. Sin embargo, la biblioteca NumPy también se puede utilizar indirectamente para implementar esta distribución.

Para explicarlo más claramente, asignemos la Distribución de Bernoulli como D(b).

Distribución binomial

El concepto de Distribución Binomial se puede definir como algo que trata de un grupo o un conjunto de Pruebas de Bernoulli. El número de este grupo o conjunto generalmente se puede definir.

En palabras más simples, la distribución binomial se ocupa de múltiples pruebas de un evento individual, en comparación con la distribución de Bernoulli, que se ocupa de una sola prueba de un evento individual.

Con respecto a la asignación anterior de la distribución de Bernoulli como D(b), la distribución binomial se asignaría como D(n,b). Esta asignación refleja la relación entre estos términos.

Implemente la distribución de Bernoulli con la ayuda de NumPy en Python

Debe preguntarse cuál es el significado de la distribución binomial cuando se habla de la distribución de Bernoulli. Bueno, hay un gran significado.

La biblioteca NumPy usa directamente la función NumPy.random.binomial() para implementar la distribución binomial. La sintaxis de la función NumPy.random.binomial() se puede ver a continuación.

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

Los parámetros de esta función se definen para una comprensión más clara del usuario.

  • n: Es el número de ensayos. Se puede ingresar como flotante o entero, pero finalmente se trunca en un valor int.
  • p: Esta es la probabilidad de éxito; siempre será mayor que 0 o menor que 1. Es un valor flotante.
  • size: Esto ayuda a proporcionar la forma de la salida. Si se establece en None, solo proporciona un único valor.

Cuando damos el valor del número de conjuntos de ensayos de Bernoulli a ser 1 en este caso, podemos implementar indirectamente la Distribución de Bernoulli dentro de la Distribución Binomial.

El siguiente código usa la función NumPy.random.binomial para implementar la distribución de Bernoulli en Python.

Tomamos un ejemplo de una moneda (que tiene solo dos posibilidades, cara y cruz) que se lanza 4 veces. Cuando tomamos n como 1, califica como Distribución Bernoulli en lugar de Distribución Binomial, que es como procederemos en el código.

import numpy as dragon

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

El código anterior proporciona el siguiente resultado:

[1 0 0 1]

Aquí, mostramos el resultado de lanzar una sola moneda probada 4 veces. Es importante tener en cuenta que, dado que se trata de una prueba aleatoria, volver a ejecutar el programa probablemente generaría un conjunto diferente de resultados.

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