From 8c9ab11895d033fcacc7a709229e770213f515b5 Mon Sep 17 00:00:00 2001 From: Dainis Boumber Date: Wed, 20 Jun 2018 03:59:37 -0500 Subject: [PATCH] added histograms --- complexity.py | 12 ++++++------ demo.py | 32 +++++++++++++++++++++++++++++++- nd_boundary_plot | 2 +- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/complexity.py b/complexity.py index b94180f..be0f046 100644 --- a/complexity.py +++ b/complexity.py @@ -7,7 +7,6 @@ import modules.complexity_estimator as ce import modules.util as u -from modules import mnist from modules.oracle import Oracle from nd_boundary_plot.plots import nd_boundary_plot @@ -107,6 +106,7 @@ def active(classifiers, datasets, experiments, quota=25, plot_every_n=5): plt.tight_layout() plt.show() + def main(): # clfs = [SVC(), LinearSVC(), AdaBoostClassifier(), GaussianNB()] datasets = [] @@ -121,11 +121,11 @@ def main(): # experiments.append('moons') # datasets.append((u.hastie(1000), u.hastie(1000))) - # datasets.append((make_gaussian_quantiles(n_samples=500, n_features=10, n_classes=3), - # make_gaussian_quantiles(n_samples=500, n_features=10, n_classes=3))) - # experiments.append('gauus') - datasets.append((mnist.load_mnist(), mnist.load_mnist_rotated())) - experiments.append('MNIST_vs_MNIST_Rotated') + datasets.append((make_gaussian_quantiles(n_samples=500, n_features=10, n_classes=3), + make_gaussian_quantiles(n_samples=500, n_features=10, n_classes=3))) + experiments.append('gauus') + # datasets.append((mnist.load_mnist(), mnist.load_mnist_rotated())) + # experiments.append('MNIST_vs_MNIST_Rotated') active(classifiers=clfs, datasets=datasets, experiments=experiments) diff --git a/demo.py b/demo.py index 6c9d385..2d1f929 100644 --- a/demo.py +++ b/demo.py @@ -27,6 +27,8 @@ def demo(datasets, dsnames, classifiers, nwindows): f1 = figure.number figure2 = plt.figure(figsize=(27, 9)) f2 = figure2.number + figure3 = plt.figure(figsize=(27, 9)) + f3 = figure3.number i = 1 j = 1 @@ -110,6 +112,32 @@ def demo(datasets, dsnames, classifiers, nwindows): ax.set_title('Avg. Complexity') ax.plot(Ks, Es) j+=1 + + + # plot data and + figure3, a = plt.subplots(nrows=len(datasets), ncols=2,figsize=(27,9)) + a = a.ravel() + + for idx,ax in enumerate(a): + if idx % 2 == 0: + ax.set_title(dsnames[ds_cnt]) + # Plot also the training points + ax.scatter(X[:, 0], X[:, 1], c=y) + # and seeds + ax.scatter(X[estimator.seeds, 0], X[estimator.seeds, 1], + alpha=1.0, facecolors='black') + ax.set_xlim(xx.min(), xx.max()) + ax.set_ylim(yy.min(), yy.max()) + ax.set_xticks(()) + ax.set_yticks(()) + else: + ax.hist(Es, 10) + ax.set_xlabel('E') + ax.set_ylabel('frequency') + ax.set_title('Hist. of Entropy') + figure3.tight_layout() + figure3.savefig(filename=('./vis/' + dsnames[ds_cnt] + 'Histograms.png')) + ''' ws = estimator.get_w_complexity() for wi, w in enumerate(ws): @@ -121,8 +149,11 @@ def demo(datasets, dsnames, classifiers, nwindows): figure.tight_layout() figure2.tight_layout() + + figure.savefig(filename=('./vis/'+ ''.join(dsnames)+'Classifications.png')) figure2.savefig(filename=('./vis/'+''.join(dsnames) + 'Complexities.png')) + plt.show() def main(): @@ -130,7 +161,6 @@ def main(): LinearDiscriminantAnalysis(), QuadraticDiscriminantAnalysis(), KNeighborsClassifier(3), - MLPClassifier(alpha=1), SVC(gamma=2, C=1), LinearSVC(), GaussianProcessClassifier(1.0 * RBF(1.0), warm_start=True), diff --git a/nd_boundary_plot b/nd_boundary_plot index 974a0ed..12dd5fd 160000 --- a/nd_boundary_plot +++ b/nd_boundary_plot @@ -1 +1 @@ -Subproject commit 974a0ed54f0bf820e602ef026b71c2955d796a9b +Subproject commit 12dd5fdcef68344bac04b08bac14ab0db8d8bf8b