def get_density_with_ann(self): obj = libfann.fann_create_standard_array(2, (3, 1)) ann = fann.fann_class(obj) patterns = fann.read_train_from_file("train_data.txt") ann.train_on_data(patterns, 1000, 1, 0.0) return [ line[3] for line in map(lambda x: [x.density, x.bytes, len(x.text), x.text], self.lines) if ann.run(line[0:2])[0] > 0 ]
def fann_test(trainingText): """ The function to using fast artifitial neural network.""" # using "fann" package in machine learning from pyfann import fann, libfann # This creates a new single-layer perceptron with 1 output and 3 inputs. obj = libfann.fann_create_standard_array(2, (3, 1)) ann = fann.fann_class(obj) # Load the data we described above. patterns = fann.read_train_from_file('training.txt') ann.train_on_data(patterns, 1000, 1, 0.0) # Then test it with different data. for datin, datout in validation_data: result = ann.run(datin) print 'Got:', result, ' Expected:', datout
def main(): if (len(sys.argv) != 3): print "bad number of argument. got: " + str(len(sys.argv)) + " expected: 3" print "usage: extract_text.py <newswatch-db-file> <training_file>" sys.exit(1) page = load_page(load_html(sys.argv[1])) manual_training(page, sys.argv[2]) # This creates a new single-layer perceptron with 1 output and 3 inputs. obj = libfann.fann_create_standard_array(2, (3, 1)) ann = fann.fann_class(obj) # Load the data we described above. if (os.path.exists(sys.argv[2]) == True): patterns = fann.read_train_from_file(sys.argv[2]) ann.train_on_data(patterns, 1000, 1, 0.0) # Then test it with different data. for index, line in enumerate(page.lines): if (index == 0): input = [0.0, 0.0, 0.0] else: input = [page.lines[index - 1].density, page.lines[index - 1].bytes, len(page.lines[index - 1].text)] input = [line.density. line.bytes, len(line.text)] if (index + 1 >= len(page.lines) - 1): input = [0.0, 0.0, 0.0] else: input = [page.lines[index + 1].density, page.lines[index + 1].bytes, len(page.lines[index + 1].text)] result = ann.run(input) print line.text + "\n" + 'Got:', result