def test_kmeans(self): testOneD = np.array((1, 1.1, 0.9, 130, 130.1, 129.9)) testOneD = testOneD.reshape(testOneD.size,1) k = 2 cluster = kMeans(testOneD, k) cluster.discretize() self.assertEqual(sorted(cluster.get_centers().tolist()), [[1.], [130.]]) self.assertEqual(sorted(cluster.get_labels().tolist()), [[0], [0], [0], [1], [1], [1]]) testTwoD = np.array(((1,0),(1,2),(2,1),(15,4),(13,2),(21,4))) centerY = np.array(((0,0),(20,5))) cluster2 = kMeans(testTwoD) cluster2.set_centers(centerY) cluster2.discretize() self.assertEqual(sorted(cluster2.get_centers().tolist()), [[0,0], [20,5]]) self.assertEqual(sorted(cluster2.get_labels().tolist()), [[0], [0], [0], [1], [1], [1]])
def test_kmeans(self): testOneD = np.array((1, 1.1, 0.9, 130, 130.1, 129.9)) testOneD = testOneD.reshape(testOneD.size, 1) k = 2 cluster = kMeans(testOneD, k) cluster.discretize() self.assertEqual(sorted(cluster.get_centers().tolist()), [[1.], [130.]]) self.assertEqual(sorted(cluster.get_labels().tolist()), [[0], [0], [0], [1], [1], [1]]) testTwoD = np.array( ((1, 0), (1, 2), (2, 1), (15, 4), (13, 2), (21, 4))) centerY = np.array(((0, 0), (20, 5))) cluster2 = kMeans(testTwoD) cluster2.set_centers(centerY) cluster2.discretize() self.assertEqual(sorted(cluster2.get_centers().tolist()), [[0, 0], [20, 5]]) self.assertEqual(sorted(cluster2.get_labels().tolist()), [[0], [0], [0], [1], [1], [1]])
if args.plot: try: import matplotlib.pyplot as plt except ImportError: print 'No matplotlib available, import failed.' ##################################################################### # import data ##################################################################### data_importer = dataImp.SimpleDataImporter(args.iFile, i_delimiter=' ') ##################################################################### # k-means clustering ##################################################################### cluster = cl.kMeans(data_importer.get_data(), args.numCluster) cluster.discretize() ##################################################################### # estimation of transition matrix ##################################################################### chain = np.asarray(cluster.get_labels(), dtype=np.int64) count_mat = est.compute_count_matrix(chain, i_tau=1) trans_mat = est.estimate_transition_matrix(count_mat, 10000, 1e-3) is_reversible, check_mat = est.check_reversibility(trans_mat) ##################################################################### # Analysis of markov chain and transition matrix ##################################################################### mcmm_ana = ana.MarkovModel(trans_mat)
if args.plot: try: import matplotlib.pyplot as plt except ImportError: print "No matplotlib available, import failed." ##################################################################### # import data ##################################################################### data_importer = dataImp.SimpleDataImporter(args.iFile, i_delimiter=" ") ##################################################################### # k-means clustering ##################################################################### cluster = cl.kMeans(data_importer.get_data(), args.numCluster) cluster.discretize() ##################################################################### # estimation of transition matrix ##################################################################### chain = np.asarray(cluster.get_labels(), dtype=np.int64) count_mat = est.compute_count_matrix(chain, i_tau=1) trans_mat = est.estimate_transition_matrix(count_mat, 10000, 1e-3) is_reversible, check_mat = est.check_reversibility(trans_mat) ##################################################################### # Analysis of markov chain and transition matrix ##################################################################### mcmm_ana = ana.MarkovModel(trans_mat)