def main(): parser = argparse.ArgumentParser( description='Perform cross-validation on the dataset, cross-validating the behavior of all but one ' 'subjects using a GNB classifier.' ) parser.add_argument('dataset', help='name of the dataset folder') parser.add_argument('class_id', type=int, help='target class id, 0-2') parser.add_argument('ground_truth_count', type=int, help='number of ground truth values, 1-3') parser.add_argument('rfe', type=int, default=1, help='perform RFE?') args = parser.parse_args() print args attr_count = None if args.rfe == 0 else attribute_counts[args.dataset][args.class_id] actual, predicted = cross_validate_dataset(args.dataset, args.class_id, attribute_count=attr_count, ground_truth_count=args.ground_truth_count, classifier=GaussianNB()) print_report(actual, args.class_id, args.dataset, predicted)
def main(): dataset = 'koelstra-approach' attribute_index = 0 attributes = selected_attributes[dataset][attribute_index] actual, predicted = cross_validate_dataset(dataset, attribute_index, ground_truth_count=attributes) conf_matrix = confusion_matrix(actual, predicted, ['low', 'high']) print conf_matrix print "" scores = f1_score(actual, predicted, ['low', 'high'], 'low', average=None) class_counts = [sum(row) for row in conf_matrix] average_f1 = np.average(scores, weights=class_counts) accuracy = accuracy_score(actual, predicted) print "Average F1 score: %.3f" % average_f1 print "Average accuracy: %.3f" % accuracy attr_names = ["valence", "arousal", "control"] print "py-%s-rfe,%s,%s,%.3f,%.3f" % ( dataset, attr_names[attribute_index], time.strftime('%Y-%m-%d'), average_f1, accuracy)