pred = PredictorLocal(tfidf, law, accu, time) all_test_predicts = [] all_test_metas = [] test_f = open(test_filename) for line in test_f: js = json.loads(line) text = js["fact"] meta = js["meta"] ans = pred.predict(text) all_test_predicts.append(ans) all_test_metas.append(meta) #metrics judge = Judger("../baseline/accu.txt", "../baseline/law.txt") result = judge.test2(all_test_metas, all_test_predicts) rst = judge.get_score(result) print(rst) rstr = "ACCU:(%.4f, %.4f, %.4f); LAW:(%.4f, %.4f, %.4f) TIME: %.4f"% \ (rst[0][0], rst[0][1], rst[0][2], rst[1][0], rst[1][1], rst[1][2], rst[2]) sinfo = 'Seg:%s DIM:%s NGRAM:%d RESULT: %s' % (seg_method, dim, ngram, rstr) logger.info(sinfo) ''' print('begin test model:') print('saving model') joblib.dump(tfidf, 'predictor/model/tfidf.model') joblib.dump(accu, 'predictor/model/accu.model') joblib.dump(law, 'predictor/model/law.model')
print('law SVC') sys.stdout.flush() #law = train_SVC(vec, law_label) print('time SVC') sys.stdout.flush() #time = train_SVC(vec, time_label) #test print('predict') sys.stdout.flush() predictor = PredictorLocal(tfidf, accu, law, time) test_label, test_predict = predictor.predict_file(test_filename) #metrics judge = Judger("../baseline/accu.txt", "../baseline/law.txt") result = judge.test2(test_label, test_predict) print(result) rst = judge.get_score(result) print(rst) rstr = "ACCU:(%.4f, %.4f, %.4f); LAW:(%.4f, %.4f, %.4f) TIME: %.4f"% \ (rst[0][0], rst[0][1], rst[0][2], rst[1][0], rst[1][1], rst[1][2], rst[2]) sinfo = 'Prog: %s TrainFile: %s Seg:%s DIM:%s NGRAM:%d RESULT: %s' % \ (sys.argv[0], train_fname, seg_method, dim, ngram, rstr) logger.info(sinfo) print('begin test model:') print('saving model') joblib.dump(tfidf, 'predictor/model/tfidf.model') joblib.dump(accu, 'predictor/model/accu.model')