Skip to content

Instantly share code, notes, and snippets.

@amaral220x
Created October 6, 2025 18:27
Show Gist options
  • Select an option

  • Save amaral220x/22c66dca203150dd7c5d106010276732 to your computer and use it in GitHub Desktop.

Select an option

Save amaral220x/22c66dca203150dd7c5d106010276732 to your computer and use it in GitHub Desktop.
Calculos prob_gaussiana
import math
import numpy as np
## Calcula a probabilidade de uma observação x em uma distribuição normal
# Caso positivo
mean_pos = [0.517, 0.423]
cov_pos = [[0.0086335, -0.006541], [-0.006541, 0.0196335]]
x7 = [0.45, 0.80]
mean_neg = [0.49, 0.733]
cov_neg = [[0.0037, 0.0136], [0.0136, 0.0517335]]
x8 = [0.5, 0.7]
def probabilidade_gaussiana(x, mean, cov):
d = len(x)
x = np.array(x)
mean = np.array(mean)
cov = np.array(cov)
coeff = 1 / (np.sqrt((2 * np.pi) ** d * np.linalg.det(cov)))
exponent = -0.5 * (x - mean).T @ np.linalg.inv(cov) @ (x - mean)
return coeff * np.exp(exponent)
prob_pos = probabilidade_gaussiana(x7, mean_pos, cov_pos)
prob_neg = probabilidade_gaussiana(x7, mean_neg, cov_neg)
print(f"Probabilidade de x7 (classe positiva): {prob_pos}")
print(f"Probabilidade de x7 (classe negativa): {prob_neg}")
prob_pos = probabilidade_gaussiana(x8, mean_pos, cov_pos)
prob_neg = probabilidade_gaussiana(x8, mean_neg, cov_neg)
print(f"Probabilidade de x8 (classe positiva): {prob_pos}")
print(f"Probabilidade de x8 (classe negativa): {prob_neg}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment