parser.add_argument('-n', action='store_true', help='Runs the naive algorithm') parser.add_argument('-m', action='store_true', help='Computes Majority Vote') args = parser.parse_args() alphabet = "a b c" types = alphabet.split() numCharacters = len(types) accuracies = [] cross_entropies = [] for sim in range(100): # Run 100 simulations data = init_from_file("Tests/RareClass/data/%d.txt" % sim, 0, not args.r, True) if args.m: acc = MV(data) print "Simulation %d: %.2f" % (sim, acc) elif args.n: acc = naive(data) print "Simulation %d: %.2f" % (sim, acc) else: EM(data) acc = data.best_percent_correct() ce = data.best_cross_entropy() print "Simulation %d: %.2f % | %.2f CE" % (sim, acc, ce) cross_entropies.append(ce) accuracies.append(acc)
elif (run_name == "CATD"): #CATD print("%s Day %d:" % (run_name, day)) e2wl, w2el, label_set = CATD.gete2wlandw2el("./data/"+now_work+"/%s/answers/%d/answer_%d.csv" % (rate, time, day)) print('读入数据完毕') truth, weight = CATD.Conf_Aware(e2wl, w2el, 'categorical').Run(0.05,100) print('EM完毕') accurate3(truth, day, time, rate) #accurate2(e2wl, w2el, label_set, truth, day, time, rate) print('acc计算完毕') elif (run_name == "MV"): #MV print("%s Day %d:" % (run_name, day)) e2wl, w2el, label_set = MV.gete2wlandw2el("./data/"+now_work+"/%s/answers/%d/answer_%d.csv" % (rate, time, day)) print('读入数据完毕') e2lpd = MV.MV(e2wl, w2el, label_set).Run() print('EM完毕') truth = get_truth(e2lpd) print('get真相完毕') accurate3(truth, day, time, rate) #accurate2(e2wl, w2el, label_set, truth, day, time, rate) print('acc计算完毕') elif (run_name == "PM"): # PM print("%s Day %d:" % (run_name, day)) e2wl, w2el, label_set = PM.gete2wlandw2el("./data/"+now_work+"/%s/answers/%d/answer_%d.csv" % (rate, time, day)) print('读入数据完毕') e2lpd, weight = PM.CRH(e2wl, w2el, label_set, 'categorical', r'0/1 loss').Run(10) print('EM完毕') truth = get_truth(e2lpd) print('get真相完毕')