Skip to content

Instantly share code, notes, and snippets.

@asit-pal
asit-pal / 1.py
Last active August 15, 2022 22:40
test
mean = np.array([0,0])
rho=0.8
cov = np.array([[1,rho],[rho,1]])
distr = multivariate_normal(mean=mean,cov=cov,size=5000)
X,Y = distr[:,0],distr[:,1]
@asit-pal
asit-pal / mi_scikit.py
Created August 15, 2022 22:27
mutual_information_with_scikit_learn
from sklearn.feature_selection import mutual_info_regression as MIR
mutual_information = []
for i in range(1000,100000,1000):
distr = multivariate_normal(mean=mean,cov=cov,size=i)
X,Y = distr[:,0],distr[:,1]
mutual_information.append(MIR(X.reshape(-1,1),Y))
plt.axhline(ana,lw=2,color='green',label='Analytical solution')
plt.plot(range(1000,100000,1000),mutual_information,label='With scikit-learn function')
plt.xlabel('No of samples')
plt.ylabel('Mutual information')
plt.legend()
plt.savefig('Mutual_information_convergence_test.png',dpi=300)