def main(): if len(sys.argv) != 3: print "Usage:", sys.argv[0], "<train_data_file> <test_data_file>" exit(1) train_data_file = sys.argv[1] verify_file_exists(train_data_file) test_data_file = sys.argv[2] verify_file_exists(test_data_file) train_data_list = read_data_file(train_data_file, lambda x: int(x)) mean = float(sum(train_data_list)) / len(train_data_list) test_data_list = read_data_file(test_data_file, lambda x: int(x)) max_elem = max_pois_elem(mean) print '\n'.join(map(lambda elem: str(log_principal_anomaly(elem, mean, max_elem)), test_data_list))
def main(): if len(sys.argv) != 3: print "Usage:", sys.argv[0], "<train_data_file> <test_data_file>" exit(1) train_data_file = sys.argv[1] verify_file_exists(train_data_file) test_data_file = sys.argv[2] verify_file_exists(test_data_file) train_data_list = read_data_file(train_data_file, lambda x: float(x)) N = len(train_data_list) Q = reduce(lambda acc, x: acc + pow(x, 2), train_data_list) S = sum(train_data_list) test_data_list = read_data_file(test_data_file, lambda x: float(x)) print '\n'.join(map(lambda elem: str(log_principal_anomaly(elem, N, Q, S)), test_data_list))
false_negative_rate_clean_acc/float(iterations), false_positive_rate_merged_acc/float(iterations), false_positive_rate_clean_acc/float(iterations)) class RateCalculator(object): def __init__(self, data_spec, strategy, normal_entries_distr, threshold): self.data_spec = data_spec self.strategy = strategy self.normal_entries_distr = normal_entries_distr self.threshold = threshold def __call__(self, ignored): return generate_data_and_compute_rates(data_spec, strategy, normal_entries_distr, threshold) if __name__ == '__main__': if len(sys.argv) != 6: print "Usage:", sys.argv[0], "<data_spec> <normal_entries_distr> <iterations> <threshold> <frequentist|bayesian>\n" print "Note that contents of <out_dir> will be wiped out!" exit(1) data_spec = sys.argv[1] normal_entries_distr = sys.argv[2] iterations = int(sys.argv[3]) threshold = float(sys.argv[4]) strategy = sys.argv[5] verify_file_exists(data_spec) averages = average_rates(data_spec, normal_entries_distr, threshold, iterations, strategy) output_format = '{0:.10f}' print (output_format.format(averages[0]), output_format.format(averages[1]), output_format.format(averages[2]), output_format.format(averages[3]))