Binomial distribution python
#sns.distplot hist=True
#To do Mean, Variance, STD
#probabiliy of less or equal to K Occurences
import numpy as np from scipy.stats import binom import matplotlib.pyplot as plt import seaborn as sns
np.random.seed(12)
#Exmaple 1 Creation in Numpy (YouTube Subscribers)
# Parameters for Bernoulli distribution p_success_subs = 0.025 # Probability of success
size_videos = 100 # Number of individual trials (videos)
# Use np.random.binomial with n=1 to simulate Bernoulli trials numpy_samples = np.random.binomial(n=1, p=p_success_subs, size=size_videos)
print(numpy_samples)

Example 2 Creation in Scipy Coin Flip
p_success_coin = 0.5 # Probability of success
size_coin_flips = 25 # Number of experiments
scipy_samples = bernoulli.rvs(p=p_success_coin, size=size_coin_flips)
print(scipy_samples)

Example 3 Calculate PMF
#Probability of Exaxtyl K Occurences
#n= sample size
#k = number of SUCCESS
#p = probability
#25 Heads binom.pmf(n=n_trials_coin, k=25, p=p_success_coin)

Example 4 Calculate CDF
#Probability of less of equal than k occurences
#30 Subs or less binom.cdf(n=n_trials_subs, k=30, p=p_success_subs)

#25 Heads or less #half of the distribution lies below 25, and the exact probability of getting exactly #25 successes adds slightly more to reach about 55% binom.cdf(n=n_trials_coin, k=25, p=p_success_coin)

Example 5 Plotting Coin Histogram
# Plotting the histogram of the sampled data plt.figure(figsize=(8, 6)) plt.hist(scipy_samples, bins=10, color='skyblue', edgecolor='black') plt.title('Histogram of Sampled Data') plt.xlabel('Number of Successes') plt.ylabel('Frequency') plt.show()

Example 6 Plotting Coin PMF
# Plotting the Probability Mass Function (PMF) x = np.arange(0, n_trials_coin + 1) pmf = binom.pmf(x, n=n_trials_coin, p=p_success_coin) plt.figure(figsize=(8, 6)) plt.stem(x, pmf, use_line_collection=True) plt.title('Probability Mass Function (PMF)') plt.xlabel('Number of Successes') plt.ylabel('Probability') plt.show()

Example 7 Plotting Coin CDF
p_success_coin = 0.5 # Probability of success n_trials_coin = 50 # Number of trials # Plotting the Cumulative Distribution Function (CDF) x = np.arange(0, n_trials_coin + 1) cdf = binom.cdf(x, n=n_trials_coin, p=p_success_coin) plt.figure(figsize=(8, 6)) plt.plot(x, cdf, 'b-', lw=2) plt.title('Cumulative Distribution Function (CDF)') plt.xlabel('Number of Successes') plt.ylabel('Cumulative Probability') plt.show()

Ryan is a Data Scientist at a fintech company, where he focuses on fraud prevention in underwriting and risk. Before that, he worked as a Data Analyst at a tax software company. He holds a degree in Electrical Engineering from UCF.