示例#1
0
class BaumWelchIterate(unittest.TestCase):
	""" Tester la reussite des reestimations """
	def setUp(self):
		self.listState = ['A', 'B']
		self.listObservables = ["je", "ne", "suis", "pas", "un", "hero"]
		self.hmm = HMM_BW(self.listObservables, self.listState, 5)

	def test_setAlpha(self):
		''' Test de l'instanciation des alpha '''
		alpha_0 = self.hmm.alpha[1]['A']
		self.hmm.setAlpha()
		alpha_1 = self.hmm.alpha[1]['A']

		assert(not alpha_0 == alpha_1)

	def test_setBeta(self):
		''' Test de l'instanciation des beta '''
		beta_0 = self.hmm.beta[0]['A']
		self.hmm.setBeta()
		beta_1 = self.hmm.beta[0]['A']

		assert(not beta_0 == beta_1)

	def test_setGamma(self):
		''' Test de l'instanciation des gamma '''
		gamma_0 = self.hmm.gamma[0]['A']
		self.hmm.setGamma()
		gamma_1 = self.hmm.gamma[0]['A']
		
		assert(not gamma_0 == gamma_1)


	def test_iterations(self):
		''' Test du bon fonctionnement d'une iteration '''
		E_0 = self.hmm.emissions[self.listObservables[0]][self.listState[0]]
		self.hmm.iterate()
		E_1 = self.hmm.emissions[self.listObservables[0]][self.listState[0]]
		assert(not E_0 == E_1)
示例#2
0
class BaumWelchIterate(unittest.TestCase):
	""" Tester la reussite des reestimations """
	def setUp(self):
		listObservables = ["je", "ne", "suis", "pas", "un", "hero"]
		self.hmm = HMM_BW(listObservables, 5)

	def test_setAlpha(self):
		alpha_0 = self.hmm.alpha[1]['A']
		self.hmm.setAlpha()
		alpha_1 = self.hmm.alpha[1]['A']

		assert(not alpha_0 == alpha_1)

	def test_setBeta(self):
		beta_0 = self.hmm.beta[0]['A']
		self.hmm.setBeta()
		beta_1 = self.hmm.beta[0]['A']

		assert(not beta_0 == beta_1)

	def test_iterations(self):
		self.hmm.iterate()
		assert(1==2)
示例#3
0
	def setUp(self):
		self.listState = ['A', 'B']
		self.listObservables = ["je", "ne", "suis", "pas", "un", "hero"]
		self.hmm = HMM_BW(self.listObservables, self.listState, 5)
示例#4
0
	def setUp(self):
		listObservables = ["je", "ne", "suis", "pas", "un", "hero"]
		self.hmm = HMM_BW(listObservables, 5)
示例#5
0
文件: main.py 项目: adrienbrunet/HMM
listObservables = range(len(test_table))
for k in range(len(test_table)):
    listObservables[k] = test_table[k][0]

### On construit un hmm avec le fichier d'apprentissage ###
S = app.get_Pi_T_E()
I = S[0]
T = S[1]
E = S[2]
if perturbation:
    for obs in listObservables:
        for state in listState:
            if obs in E and not state=="":
                E[obs][state]+=(random.random()-0.5)*coef
###########################################################
hmm = HMM_BW(listObservables, listState, 1)

if hmm_determine:
    hmm.Pi = I
    hmm.Pi[""] = 0.0
    T[""] = hmm.Pi
    for state in hmm.Pi:
        T[state][""] = 0.01
    hmm.transitions = T
    hmm.transitions[""] = {}
    E[""] = hmm.Pi
    for obs in hmm.listObservables:
        E[obs][""] = 0.0
    E[""][""] = 1.0

    hmm.emissions = E