GirishaBuilds01 commited on
Commit
68aeded
·
verified ·
1 Parent(s): f79908a

Create utils/information.py

Browse files
Files changed (1) hide show
  1. utils/information.py +16 -0
utils/information.py ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+
3
+ def mutual_information(x, y, bins=30):
4
+ c_xy = np.histogram2d(x, y, bins)[0]
5
+ p_xy = c_xy / np.sum(c_xy)
6
+ p_x = np.sum(p_xy, axis=1)
7
+ p_y = np.sum(p_xy, axis=0)
8
+
9
+ mi = 0.0
10
+ for i in range(len(p_x)):
11
+ for j in range(len(p_y)):
12
+ if p_xy[i, j] > 0:
13
+ mi += p_xy[i, j] * np.log(
14
+ p_xy[i, j] / (p_x[i] * p_y[j] + 1e-12)
15
+ )
16
+ return mi