y_min=-100, y_max=3000, steps=750, pair_wise=[3, 1], train_or_test=0, smoothness=0.1, contour=False) """ Instantiate an object of Evaluation class to calculate various model metrics. """ eval = Evaluation(bayes_case=bayes_classifier, data_prep=data_preprocess, test_size=0.30) class_id = 1 # The class_id for the required class # Returns confusion matrix for a given Bayesian Classifier Case cm = eval.confusion_matrix() # Returns the accuracy of classification for a given Bayesian Classifier Case acc = eval.accuracy() # Returns the precision for a given class for a given Bayesian Classifier Case prec = eval.precision(class_id) # Returns the recall for a given class for a given Bayesian Classifier Case rec = eval.recall(class_id) # Returns the F-score for a given class for a given Bayesian Classifier Case f_score = eval.f_score(class_id) # Returns the mean precision of classification for a given Bayesian Classifier Case mean_prec = eval.mean_precision()
cant_classified, cant_not_classified = evaluation.evaluate_tree( tree, data_set_test) print('De las {} instancias tomadas para evaluar:'.format(cant_classified + cant_not_classified)) print('\t -> {} instancias clasificaron correctamente'.format(cant_classified)) print('\t -> {} instancias clasificaron incorrectamente'.format( cant_not_classified)) print('\n') print('Árboles de clases generados: ') classes_trees = [] for label in data_set.target_values(): data_set_class = data_set.data_set_class(label) attributes_aux = attributes.copy() tree = id3.generate_class_tree(data_set_class, label, attributes, attributes_aux) classes_trees.append((label, tree)) print('Clase: ' + str(label)) tree.print(0) print('\n') print('Matriz de confusión: ') confusion_matrix = evaluation.confusion_matrix(data_set_test, classes_trees) for i in confusion_matrix: print(str(i))