Ejemplo n.º 1
0
def main():
    dataset_file, model = sys.argv[1], sys.argv[2]

    classes = load_classes(dataset_file)
    train, test = split_dataset(classes, 0.6)

    classifier = NaiveBayes()
    classifier.train(train)

    accuracy, recall, f1 = classifier.perfomance(test)
    print("Total perfomance")
    print("================")
    print("Accuracy: %f" % accuracy)
    print("Recall: %f" % recall)
    print("F1: %f" % f1)
    print("\n")

    class_accuracy, class_recall, class_f1 = classifier.class_perfomance(test)
    print("Class accuracy")
    print("================")
    for klass in class_accuracy:
        print("%s: %f" % (klass, class_accuracy[klass]))
    print("\n")

    print("Class recall")
    print("================")
    for klass in class_recall:
        print("%s: %f" % (klass, class_recall[klass]))
    print("\n")

    print("Class F1")
    print("================")
    for klass in class_f1:
        print("%s: %f" % (klass, class_f1[klass]))
    print("\n")

    classifier.save(model)