rough_set_classifier = GeneticRoughSetsClassifier() filename = 'datasets/%s' % datasets[d][0] result = fuzzy_logic_classifier.read_data(filepath=filename, label_is_last=(bool)( datasets[d][1])) result = rough_set_classifier.read_data(filepath=filename, label_is_last=(bool)( datasets[d][1])) if not result: logging.error("Wrong dataset name") sys.exit(1) fuzzy_logic_classifier.prepare_data( k_fold_number=K_FOLD_NUMBER) rough_set_classifier.prepare_data(k_fold_number=K_FOLD_NUMBER) fuzzy_logic_classifier.k_fold_cross_validation(k=k) fuzzy_logic_classifier.generate_membership_functions( divisions=DIVISIONS) fuzzy_logic_classifier.initialize_genetic( generations=200, mutation=MUTATION_PROP, crossover=CROSS_OVER_PROP) fuzzy_logic_classifier.create_population(population_size=20) fuzzy_logic_classifier.run() rough_set_classifier.k_fold_cross_validation(k=k) rough_set_classifier.initialize_genetic( generations=200, mutation_prop=MUTATION_PROP,
#!/usr/bin/python # -*- coding: utf-8 -*- from genetic_rough_sets_classifier import GeneticRoughSetsClassifier if __name__ == '__main__': K_FOLD_NUMBER = 4 K = 1 GENERATIONS = 500 MUTATION = 0.3 CROSS_OVER = 0.9 G = 7 POPULATION = 10 grs = GeneticRoughSetsClassifier(debug=DEBUG) filename = 'datasets/iris.data.txt' grs.read_data(filepath=filename, label_is_last=False) grs.prepare_data(k_fold_number=K_FOLD_NUMBER) grs.k_fold_cross_validation(k=K) grs.initialize_genetic(generations=GENERATIONS, mutation_prop=MUTATION, crossover_prop=CROSS_OVER) grs.create_population(population_size=POPULATION, division=G) # run genetic algorithm grs.run() # genetic algorithm found granulation # now classify patterns classified = 0 for i in range(len(patterns)): if labels[i] == grs.classify(patterns[i]): classified += 1 grs.print_summary()
for d in range(len(datasets)): for k in range(K_FOLD_NUMBER): for r in range(1): print "STARTED iteration %d for %d-fold %s dataset" % (r, k, datasets[d][0]) fuzzy_logic_classifier = GeneticFuzzyLogicClassifier() rough_set_classifier = GeneticRoughSetsClassifier() filename = 'datasets/%s' % datasets[d][0] result = fuzzy_logic_classifier.read_data(filepath=filename, label_is_last=(bool)(datasets[d][1])) result = rough_set_classifier.read_data(filepath=filename, label_is_last=(bool)(datasets[d][1])) if not result: logging.error("Wrong dataset name") sys.exit(1) fuzzy_logic_classifier.prepare_data(k_fold_number=K_FOLD_NUMBER) rough_set_classifier.prepare_data(k_fold_number=K_FOLD_NUMBER) fuzzy_logic_classifier.k_fold_cross_validation(k=k) fuzzy_logic_classifier.generate_membership_functions(divisions=DIVISIONS) fuzzy_logic_classifier.initialize_genetic(generations=200, mutation=MUTATION_PROP, crossover=CROSS_OVER_PROP) fuzzy_logic_classifier.create_population(population_size=20) fuzzy_logic_classifier.run() rough_set_classifier.k_fold_cross_validation(k=k) rough_set_classifier.initialize_genetic(generations=200, mutation_prop=MUTATION_PROP, crossover_prop=CROSS_OVER_PROP) rough_set_classifier.create_population(population_size=POPULATION_SIZE, division=MAX_GRANULATION) rough_set_classifier.run() # classify size = len(fuzzy_logic_classifier.testing_data) classified = 0