from cipherbreak import *
import itertools
-print('Loading...')
-
corpus = sanitise(''.join([open('shakespeare.txt', 'r').read(),
open('sherlock-holmes.txt', 'r').read(),
open('war-and-peace.txt', 'r').read()]))
{'func': norms.l2, 'name': 'l2'},
{'func': norms.l3, 'name': 'l2'},
{'func': norms.cosine_distance, 'name': 'cosine_distance'},
- {'func': norms.harmonic_mean, 'name': 'harminic_mean'},
+ {'func': norms.harmonic_mean, 'name': 'harmonic_mean'},
{'func': norms.geometric_mean, 'name': 'geometric_mean'},
{'func': norms.inverse_log_pl, 'name': 'inverse_log_pl'}]
scalings = [{'corpus_frequency': normalised_english_counts,
def show_results():
with open('caesar_break_parameter_trials.csv', 'w') as f:
+ print('metric,scaling,message_length,score', file = f)
for (k, v) in scores.items():
- print(str(k)[1:-1], v, sep=",", file=f)
+ print(str(k)[1:-1], v / trials, sep=",", file=f)
eval_all()
show_results()