()
| 106 | |
| 107 | |
| 108 | def main(): |
| 109 | Xtrain, Ytrain, Xtest, Ytest = getKaggleMNIST() |
| 110 | dae = DeepAutoEncoder([500, 300, 2]) |
| 111 | dae.fit(Xtrain) |
| 112 | mapping = dae.map2center(Xtrain) |
| 113 | plt.scatter(mapping[:,0], mapping[:,1], c=Ytrain, s=100, alpha=0.5) |
| 114 | plt.show() |
| 115 | |
| 116 | # purity measure from unsupervised machine learning pt 1 |
| 117 | # NOTE: this will take a long time (i.e. just leave it overnight) |
| 118 | gmm = GaussianMixture(n_components=10) |
| 119 | gmm.fit(Xtrain) |
| 120 | print("Finished GMM training") |
| 121 | responsibilities_full = gmm.predict_proba(Xtrain) |
| 122 | print("full purity:", purity(Ytrain, responsibilities_full)) |
| 123 | |
| 124 | gmm.fit(mapping) |
| 125 | responsibilities_reduced = gmm.predict_proba(mapping) |
| 126 | print("reduced purity:", purity(Ytrain, responsibilities_reduced)) |
| 127 | |
| 128 | |
| 129 | if __name__ == '__main__': |
no test coverage detected