def perform_loocv_classifiers(args):
    # Instantiate Classifier    
    classifier = Classifier(classifier=None,
                            no_clusters=args.number_cluster,
                            no_samples=None)

    classifier.OsName = platform.system()
    print('Operating System: ', classifier.OsName)
    print('LOOCV Classification')

    classifier.test_name = args.test_name
    classifier.aggregateVideoFeatures = False
    if args.use_train_test_val:
        classifier.datasets = ['training', 'validation', 'test']

    classifier.base_path = args.base_path
    classifier.label_path = args.label_path

    # Send e-mail Process Start
    send_email_start(classifier)

    # train the model
    classifier.trainModelFV_LOOCV_Classifiers(extension=args.features_file_filter)
def perform_loocv_fusion(args):
    classifier = Classifier(classifier=SVC(kernel='linear'),
                            no_clusters=args.number_cluster,
                            no_samples=None)

    classifier.OsName = platform.system()
    print('Operating System: ', classifier.OsName)
    print('LOOCV Fusion')

    classifier.test_name = args.test_name
    classifier.aggregateVideoFeatures = False
    if args.use_train_test_val:
        classifier.datasets = ['training', 'validation', 'test']

    classifier.base_path = args.base_path
    classifier.base_path2 = args.base_path2
    classifier.features_file_filter = args.features_file_filter
    classifier.label_path = args.label_path

    # Send e-mail Process Start
    send_email_start(classifier, True)

    # train the model
    classifier.trainModelFV_LOOCV_Fusion()