def test_init_method_different_parameters(self):
     test_dir = File("../../character_examples").getPath()
     nr_of_training_examples = 90
     nr_of_test_examples = 10
     for size_classification_factor in drange(0.7, 6.0, 0.3):
         print str(size_classification_factor) + ' &',
         for nr_of_segs in range(4,13):
             #print(nr_of_segs)
             test_scores = []
             for test_nr in range(10):
                 #print(test_nr)
                 extracor = SimpleImageFeatureExtractor(nr_of_divisions=nr_of_segs, 
                                                        size_classification_factor=size_classification_factor)
                 training_examples, test_examples = extracor.extract_training_and_test_examples(test_dir, 
                                                                                                nr_of_training_examples, 
                                                                                                nr_of_test_examples)
                 classifier = CharacterClassifier(training_examples,
                                                  nr_of_hmms_to_try=1,
                                                  fraction_of_examples_for_test=0,
                                                  train_with_examples=False,
                                                  initialisation_method=SpecializedHMM.InitMethod.count_based)
                 test_scores.append(classifier.test(test_examples))
             score = sum(test_scores) / len(test_scores)
             print ' $' + str(score) +'$ ',
             if nr_of_segs == 12:
                 print '\\\\'
             else:
                 print '&',
 def test_init_method_different_parameters(self):
     test_dir = File("../../character_examples").getPath()
     nr_of_training_examples = 90
     nr_of_test_examples = 10
     for size_classification_factor in drange(0.7, 6.0, 0.3):
         print str(size_classification_factor) + ' &',
         for nr_of_segs in range(4, 13):
             #print(nr_of_segs)
             test_scores = []
             for test_nr in range(10):
                 #print(test_nr)
                 extracor = SimpleImageFeatureExtractor(
                     nr_of_divisions=nr_of_segs,
                     size_classification_factor=size_classification_factor)
                 training_examples, test_examples = extracor.extract_training_and_test_examples(
                     test_dir, nr_of_training_examples, nr_of_test_examples)
                 classifier = CharacterClassifier(
                     training_examples,
                     nr_of_hmms_to_try=1,
                     fraction_of_examples_for_test=0,
                     train_with_examples=False,
                     initialisation_method=SpecializedHMM.InitMethod.
                     count_based)
                 test_scores.append(classifier.test(test_examples))
             score = sum(test_scores) / len(test_scores)
             print ' $' + str(score) + '$ ',
             if nr_of_segs == 12:
                 print '\\\\'
             else:
                 print '&',
def create_character_classifier(save_to_file_path):
    example_dir = File("../../character_examples").getPath()
    nr_of_training_examples = 90
    nr_of_test_examples = 10
    
    extractor = SimpleImageFeatureExtractor(nr_of_divisions=11, 
                                            size_classification_factor=4.6)
    
   
    training_examples, test_examples = extractor.extract_training_and_test_examples(example_dir, 
                                                                                   nr_of_training_examples, 
                                                                                   nr_of_test_examples)
    
    classifier = CharacterClassifier(training_examples,
                                     nr_of_hmms_to_try=1,
                                     fraction_of_examples_for_test=0,
                                     train_with_examples=True,
                                     initialisation_method=SpecializedHMM.InitMethod.count_based,
                                     feature_extractor=extractor)
    test_result = str(classifier.test(test_examples))
    print('Prediction ratio:', test_result)