コード例 #1
0
ファイル: test_oMHMM_init_B.py プロジェクト: negar7918/oMHMM
# plot(data[18:, :], 'primary cells', 'blue')
#plot(data[15, :], 'cell M-67', 'black')
#plot(data[35:, :], 'cell P-8', 'blue')

np.random.seed(1)

l = 808
y = np.zeros(36, dtype=int)
M = 2
S = 3
lengths = (np.ones(36, dtype=int) * l).tolist()
mhmm = spamhmm_orthogonal_init_B.SpaMHMM(epsilon=0,
                                         n_nodes=1,
                                         mix_dim=M,
                                         n_components=S,
                                         n_features=l,
                                         graph=None,
                                         n_iter=100,
                                         verbose=True,
                                         name='mhmm')
mhmm.fit(data.flatten()[:, np.newaxis], y, lengths)
pi_nk, transitions = mhmm._compute_mixture_posteriors(
    data.flatten()[:, np.newaxis], y, lengths)

print(transitions.reshape(M, S, S))

print(np.exp(pi_nk))

predicted_cluster = []
label = [
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
コード例 #2
0
np.random.seed(1)

num_of_cells = len(data[:, 0])
l = 16
y = np.zeros(num_of_cells, dtype=int)
M = 2
S = 2  # 2: 2 iter oMHMM, 5 iter MHMM; 4:  5 iter oMHMM, 30 iter MHMM
lengths = (np.ones(num_of_cells, dtype=int) * l).tolist()

###################################################################################################
mhmm = oMHMM.SpaMHMM(epsilon=.0000001,
                     n_nodes=1,
                     mix_dim=M,
                     n_components=S,
                     n_features=l,
                     graph=None,
                     n_iter=100,
                     verbose=True,
                     name='mhmm')
mhmm.fit(data.flatten()[:, np.newaxis], y, lengths)
pi_nk, transitions = mhmm._compute_mixture_posteriors(
    data.flatten()[:, np.newaxis], y, lengths)

print(transitions.reshape(M, S, S))

print(np.exp(pi_nk))

predicted_cluster = []
label_0 = [0 for i in range(len(data1[:, 0]))]
label_1 = [1 for i in range(len(data2[:, 0]))]
コード例 #3
0
    cell = np.float64(pi_nk[n])
    truth = np.float64(pi[n])
    predicted_cluster = np.append(predicted_cluster,
                                  np.where(cell == max(cell))[0][0])
    label = np.append(label, np.where(truth == max(truth))[0][0])
print(label)
print(predicted_cluster)
v_measure = v_measure_score(label, predicted_cluster)
print(transitions.reshape(M, num_of_states, num_of_states))
print(np.exp(pi_nk))

mhmm = spamhmm_orthogonal_init_B.SpaMHMM(n_nodes=1,
                                         epsilon=0,
                                         mix_dim=M,
                                         n_components=num_of_states,
                                         n_features=seq_len,
                                         graph=None,
                                         n_iter=100,
                                         verbose=True,
                                         name='mhmm')
mhmm.fit(data.flatten()[:, np.newaxis], y, lengths)
pi_nk2, transitions = mhmm._compute_mixture_posteriors(
    data.flatten()[:, np.newaxis], y, lengths)
predicted_cluster2 = []
label2 = []
for n in range(num_of_cells):
    cell = np.float64(pi_nk2[n])
    truth = np.float64(pi[n])
    predicted_cluster2 = np.append(predicted_cluster2,
                                   np.where(cell == max(cell))[0][0])
    label2 = np.append(label2, np.where(truth == max(truth))[0][0])