Ticket #3773: sage-3773-part2.patch
| File sage-3773-part2.patch, 2.1 kB (added by was, 5 months ago) |
|---|
-
a/sage/stats/hmm/hmm.pyx
old new 544 544 sage: a.log_likelihood([1,1]) 545 545 -1.3862943611198906 546 546 """ 547 if self._emission_symbols_dict: 548 seq = [self._emission_symbols_dict[z] for z in seq] 547 549 cdef double log_p 548 550 cdef int* O = to_int_array(seq) 549 551 cdef int ret = ghmm_dmodel_logp(self.m, O, len(seq), &log_p) … … 587 589 sage: a.viterbi([3/4, 'abc', 'abc'] + [3/4]*10) 588 590 ([0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], -25.299405845367794) 589 591 """ 592 if len(seq) == 0: 593 return [], 0.0 590 594 if self._emission_symbols_dict: 591 595 seq = [self._emission_symbols_dict[z] for z in seq] 592 596 cdef int* path … … 615 619 Baum-Welch algorithm to increase the probability of observing O. 616 620 617 621 INPUT: 618 training_seqs -- a list of lists of emission symbols 622 training_seqs -- a list of lists of emission symbols (or a single list) 619 623 nsteps -- integer or None (default: None) maximum number 620 624 of Baum-Welch steps to take 621 625 log_likehood_cutoff -- positive float or None (default: … … 675 679 Applications in Speech Recognition"', Proceedings of the IEEE, 676 680 77, no 2, 1989, pp 257--285. 677 681 """ 682 if len(training_seqs) > 0 and not isinstance(training_seqs[0], (list, tuple)): 683 training_seqs = [training_seqs] 684 678 685 if self._emission_symbols_dict: 679 686 seqs = [[self._emission_symbols_dict[z] for z in x] for x in training_seqs] 680 687 else: