コード例 #1
0
ファイル: test_clustering.py プロジェクト: rickwg/spmcmm
    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]])
コード例 #2
0
    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]])
コード例 #3
0
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)
コード例 #4
0
ファイル: pipeline_test.py プロジェクト: shoucheng0/spmcmm
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)