示例#1
0
 xs[300:400, :] = numpy.random.multivariate_normal(mus[3, :], sigma, 100)
 xs[400:500, :] = numpy.random.multivariate_normal(mus[4, :], sigma, 100)
 xs[500:600, :] = numpy.random.multivariate_normal(mus[5, :], sigma, 100)
 true_z = numpy.zeros((600,))
 true_z[0:100] = 0
 true_z[100:200] = 1
 true_z[200:300] = 2
 true_z[300:400] = 3
 true_z[400:500] = 4
 true_z[500:600] = 5
 pylab.subplot(1, 3, 1)
 pylab.scatter(xs[:, 0], xs[:, 1], c=true_z)
 pylab.title("True")
 # pylab.show()
 model = DPMixtureModel(xs, 6, 5000, 100, 1)
 model.gamma = 1.0
 model.fit(verbose=True)
 pylab.subplot(1, 3, 2)
 model_z = model.get_class()
 results = model.get_results()
 model_class = results.classify(xs)
 pylab.scatter(xs[:, 0], xs[:, 1], c=model_class)
 pylab.scatter(results.mus()[:, 0], results.mus()[:, 1], c='red')
 pylab.title("component")
 modal = results.make_modal()
 z = modal.classify(xs)
 print z.min(), z.max()
 pylab.subplot(1, 3, 3)
 pylab.scatter(xs[:, 0], xs[:, 1], c=z)
 pylab.title("modal")
 pylab.show()
示例#2
0
 xs[300:400, :] = numpy.random.multivariate_normal(mus[3, :], sigma, 100)
 xs[400:500, :] = numpy.random.multivariate_normal(mus[4, :], sigma, 100)
 xs[500:600, :] = numpy.random.multivariate_normal(mus[5, :], sigma, 100)
 true_z = numpy.zeros((600, ))
 true_z[0:100] = 0
 true_z[100:200] = 1
 true_z[200:300] = 2
 true_z[300:400] = 3
 true_z[400:500] = 4
 true_z[500:600] = 5
 pylab.subplot(1, 3, 1)
 pylab.scatter(xs[:, 0], xs[:, 1], c=true_z)
 pylab.title("True")
 #pylab.show()
 model = DPMixtureModel(xs, 6, 5000, 100, 1)
 model.gamma = 1.0
 model.fit(verbose=True)
 pylab.subplot(1, 3, 2)
 model_z = model.get_class()
 results = model.get_results()
 model_class = results.classify(xs)
 pylab.scatter(xs[:, 0], xs[:, 1], c=model_class)
 pylab.scatter(results.mus()[:, 0], results.mus()[:, 1], c='red')
 pylab.title("component")
 modal = results.make_modal()
 z = modal.classify(xs)
 print z.min(), z.max()
 pylab.subplot(1, 3, 3)
 pylab.scatter(xs[:, 0], xs[:, 1], c=z)
 pylab.title("modal")
 pylab.show()