def test_classification(self): result = np.array([ [0.228, 0.312], [0.48166667, 0.76666667], ]) nw = RBFKMeans(n_clusters=2) nw.train(self.data, epsilon=1e-5) self.assertTrue(np.all(result == np.round(nw.centers, 8))) if self.draw_plot: classes = nw.predict(self.data) for i, center in enumerate(nw.centers): positions = np.argwhere(classes[:, 0] == i) class_data = np.take(self.data, positions[:, 0], axis=0) plt.plot(class_data[:, 0], class_data[:, 1], 'o') for center in nw.centers: plt.plot(center[0], center[1], 'kx') plt.axis([0, 1, 0, 1]) plt.show()
import numpy as np from neupy.algorithms import RBFKMeans from mnist import MNIST mnistData=MNIST('./mnistData') imgTrain,lblTrain=mnistData.load_training() imgTest,lblTest=mnistData.load_testing() data = np.array(imgTrain) rbfk_net = RBFKMeans(n_clusters=40, verbose=False) rbfk_net.train(data, epsilon=1e-5) print len(rbfk_net.centers) new_data = np.array(imgTest[1]) print rbfk_net.predict(new_data).shape