Open
Description
from pylab import *
from sklearn.feature_selection import mutual_info_regression
mi = dict()
for n in np.logspace(2, 5, 10):
n = int(n)
x = np.random.randn(n)[:, None]
mi[n] = mutual_info_regression(x, x.squeeze(), n_neighbors=5).item()
mi = pd.Series(mi)
mi.name = 'mi'
mi.index.names = ['n']
mi = mi.reset_index()
figure()
plot(mi.n, mi.mi, 'o')
xscale('log')
grid()
figure()
plot(mi.n, mi.mi - np.log(mi.n), 'o')
xscale('log')
ylim(0, ylim()[1] * 2)
grid()