print('%d training feats, %d testing feats' % (len(train_feats), len(test_feats))) ############## ## training ## ############## trainf = nltk_trainer.classification.args.make_classifier_builder(args) if args.cross_fold: if args.multi and args.binary: raise NotImplementedError( "cross-fold is not supported for multi-binary classifiers") scoring.cross_fold(train_feats, trainf, accuracy, folds=args.cross_fold, trace=args.trace, metrics=not args.no_eval, informative=args.show_most_informative) sys.exit(0) if args.multi and args.binary: if args.trace: print('training multi-binary %s classifier' % args.classifier) classifier = MultiBinaryClassifier.train(labels, train_feats, trainf) else: classifier = trainf(train_feats) ################ ## evaluation ## ################
# if there were no instances reserved for testing, test over the whole training set if not test_feats: test_feats = train_feats if args.trace: print '%d training feats, %d testing feats' % (len(train_feats), len(test_feats)) ############## ## training ## ############## trainf = nltk_trainer.classification.args.make_classifier_builder(args) if args.cross_fold: if args.multi and args.binary: raise NotImplementedError ("cross-fold is not supported for multi-binary classifiers") scoring.cross_fold(train_feats, trainf, accuracy, folds=args.cross_fold, trace=args.trace, metrics=not args.no_eval, informative=args.show_most_informative) sys.exit(0) if args.multi and args.binary: if args.trace: print 'training multi-binary %s classifier' % args.classifier classifier = MultiBinaryClassifier.train(labels, train_feats, trainf) else: classifier = trainf(train_feats) ################ ## evaluation ## ################ if not args.no_eval: if not args.no_accuracy: try: