diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..3257b5fc Binary files /dev/null and b/.DS_Store differ diff --git a/bin/challenge.py b/bin/challenge.py index 5ec60273..1e1d5628 100755 --- a/bin/challenge.py +++ b/bin/challenge.py @@ -7,6 +7,7 @@ ## get root dir, one dir above this script root_dir=os.path.join(os.path.split(sys.argv[0])[0],"..") +print(root_dir) sys.path.append(root_dir) import tomo_challenge as tc @@ -66,7 +67,7 @@ def main(config_yaml): training_data, training_z, validation_data, validation_z, config['metrics'], metrics_fn) - output_file.write (f"{classifier_name} {run} {settings} {scores} \n") + output_file.write(f"{classifier_name} {run} {settings} {scores} \n") @@ -93,6 +94,7 @@ def run_one(classifier_name, bands, settings, train_data, train_z, valid_data, print ("Training...") C.train(train_data,train_z) + #perfect = C.train(train_data,train_z) print ("Applying...") results = C.apply(valid_data) diff --git a/example/.DS_Store b/example/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/example/.DS_Store differ diff --git a/example/funbins_example.yaml b/example/funbins_example.yaml new file mode 100644 index 00000000..1531bbe3 --- /dev/null +++ b/example/funbins_example.yaml @@ -0,0 +1,27 @@ +metrics: all +bands: riz +training_file: data/training.hdf5 +validation_file: data/validation.hdf5 +output_file: funbins_chi.txt +# Backend implementing the metrics, either: "firecrown" (default), "jax-cosmo" +metrics_impl: jax-cosmo + +run: + # This is a class name which will be looked up + funbins: + run_4: + # This setting is sent to the classifier + bins: 4 + #if no seed is present or None, the default seed is 123 + seed: 123 + #acceptable methods: 'log', 'random', 'chi', 'linear' + method: 'chi' + #to combine bins, list 2 bins to be combined as a list. Ex) [0,2] + #for example, running 4 bins you can combine any 2 of bins 0, 1, 2, or 3. + #if nothing here or None, no bins will be combined. + combinebins: + # These special settings decide whether the + # color and error colums are passed to the classifier + # as well as the magnitudes + colors: True + errors: True diff --git a/funbins_results.ipynb b/funbins_results.ipynb new file mode 100644 index 00000000..b606b0bd --- /dev/null +++ b/funbins_results.ipynb @@ -0,0 +1,470 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "%pylab inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Log and Uniform Bins" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The log bins were created using a percentile distribution based on np.logspace (instead of linspace). The uniform bins were created by pulling random numbers from a uniform distribution between 0 and 3. The random forest classifier from sklearn was used each time, and the number of bins used was 2, 4, 6, 8, 10." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "firecrownbins = [2,4,6,8,10]\n", + "jaxbins = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#these scores were calculated using firecrown\n", + "#each dictionary corresponds to the scores for a different number of bins, in the order: 2, 4, 6, 8, 10\n", + "log_scores_f = [{'SNR_ww': 332.1252628616624, 'FOM_ww': 14.983596087283678, 'SNR_gg': 879.7755517457832, 'FOM_gg': 6800.843125725617, 'SNR_3x2': 885.1510794851065, 'FOM_3x2': 69314.82169237411},\n", + " {'SNR_ww': 344.3523864717793, 'FOM_ww': 7.472714237157305, 'SNR_gg': 1129.9924402851957, 'FOM_gg': 2217.7143967350557, 'SNR_3x2': 1132.3499261021177, 'FOM_3x2': 17438.170598255823},\n", + " {'SNR_ww': 349.54961947303974, 'FOM_ww': 74.88239992499268, 'SNR_gg': 1283.0924805979128, 'FOM_gg': 2748.246880322987, 'SNR_3x2': 1285.0762826516666, 'FOM_3x2': 25527.319489134214},\n", + " {'SNR_ww': 352.1677239587554, 'FOM_ww': 46.08137841821119, 'SNR_gg': 1407.4491566491292, 'FOM_gg': 11509.47849600147, 'SNR_3x2': 1409.2785646359137, 'FOM_3x2': 76079.64260621843},\n", + " {'SNR_ww': 353.9796471119985, 'FOM_ww': 26.366472753947036, 'SNR_gg': 1500.0369417052223, 'FOM_gg': 181648.05441643775, 'SNR_3x2': 1501.7979111080479, 'FOM_3x2': 205723.43115529948}]\n", + "\n", + "uniform_scores_f = [{'SNR_ww': 327.4681067505708, 'FOM_ww': 105.1466965449306, 'SNR_gg': 678.5458935974033, 'FOM_gg': 908.8160809482351, 'SNR_3x2': 701.5622646511446, 'FOM_3x2': 4534.786413137936},\n", + " {'SNR_ww': 351.79965915406984, 'FOM_ww': 55.91220189211659, 'SNR_gg': 1109.8455489042597, 'FOM_gg': 1629.7915293979788, 'SNR_3x2': 1113.3628584854432, 'FOM_3x2': 5025.4907299214065},\n", + " {'SNR_ww': 353.4995684607554, 'FOM_ww': 148.5449428914542, 'SNR_gg': 1155.0212895482066, 'FOM_gg': 2450.1410700563783, 'SNR_3x2': 1158.502391443923, 'FOM_3x2': 13404.867225041602},\n", + " {'SNR_ww': 354.9124627287553, 'FOM_ww': 46.28382955361007, 'SNR_gg': 1250.552493913522, 'FOM_gg': 2881.0801502048794, 'SNR_3x2': 1253.8090733033507, 'FOM_3x2': 21691.232888150553},\n", + " {'SNR_ww': 354.9197295938117, 'FOM_ww': 152.37715773462213, 'SNR_gg': 1308.84532609303, 'FOM_gg': 21171.68195209693, 'SNR_3x2': 1311.9719252996663, 'FOM_3x2': 47065.21003389874}]\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "#these scores were calculated using jax\n", + "#each dictionary corresponds to the scores for a different number of bins, in order: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20\n", + "log_scores_j = [{'SNR_ww': 331.62371826171875, 'FOM_ww': 0.4617920517921448, 'FOM_DETF_ww': 0.013744479045271873, 'SNR_gg': 878.622314453125, 'FOM_gg': 53.327491760253906, 'FOM_DETF_gg': 0.786997377872467, 'SNR_3x2': 883.9085693359375, 'FOM_3x2': 255.66043090820312, 'FOM_DETF_3x2': 23.005399703979492},\n", + " {'SNR_ww': 343.78753662109375, 'FOM_ww': 2.5369784832000732, 'FOM_DETF_ww': 0.18284554779529572, 'SNR_gg': 1126.6553955078125, 'FOM_gg': 460.51934814453125, 'FOM_DETF_gg': 7.035050868988037, 'SNR_3x2': 1128.9976806640625, 'FOM_3x2': 1246.9041748046875, 'FOM_DETF_3x2': 83.07261657714844}, \n", + " {'SNR_ww': 348.9933776855469, 'FOM_ww': 12.718839645385742, 'FOM_DETF_ww': 0.5421679019927979, 'SNR_gg': 1277.877685546875, 'FOM_gg': 823.6866455078125, 'FOM_DETF_gg': 11.198760986328125, 'SNR_3x2': 1279.864990234375, 'FOM_3x2': 2050.5126953125, 'FOM_DETF_3x2': 102.53814697265625},\n", + " {'SNR_ww': 351.5631408691406, 'FOM_ww': 20.807268142700195, 'FOM_DETF_ww': 0.6687530279159546, 'SNR_gg': 1400.4603271484375, 'FOM_gg': 1209.8232421875, 'FOM_DETF_gg': 14.164243698120117, 'SNR_3x2': 1402.2911376953125, 'FOM_3x2': 3289.179931640625, 'FOM_DETF_3x2': 114.87232208251953},\n", + " {'SNR_ww': 353.3896484375, 'FOM_ww': 25.69645118713379, 'FOM_DETF_ww': 0.7485368847846985, 'SNR_gg': 1490.1297607421875, 'FOM_gg': 1509.4334716796875, 'FOM_DETF_gg': 16.625934600830078, 'SNR_3x2': 1491.8892822265625, 'FOM_3x2': 4315.92431640625, 'FOM_DETF_3x2': 124.80682373046875},\n", + " {'SNR_ww': 353.4909362792969, 'FOM_ww': 28.18546485900879, 'FOM_DETF_ww': 0.7837417125701904, 'SNR_gg': 1581.24755859375, 'FOM_gg': 1861.4588623046875, 'FOM_DETF_gg': 19.349151611328125, 'SNR_3x2': 1582.9195556640625, 'FOM_3x2': 5589.23876953125, 'FOM_DETF_3x2': 133.16567993164062},\n", + " {'SNR_ww': 353.81439208984375, 'FOM_ww': 30.821815490722656, 'FOM_DETF_ww': 0.8196653723716736, 'SNR_gg': 1660.472412109375, 'FOM_gg': 2167.390869140625, 'FOM_DETF_gg': 21.795621871948242, 'SNR_3x2': 1662.0672607421875, 'FOM_3x2': 6755.2568359375, 'FOM_DETF_3x2': 140.04119873046875},\n", + " {'SNR_ww': 354.19085693359375, 'FOM_ww': 33.06575393676758, 'FOM_DETF_ww': 0.850592851638794, 'SNR_gg': 1714.0537109375, 'FOM_gg': 2405.90869140625, 'FOM_DETF_gg': 23.72943687438965, 'SNR_3x2': 1715.613037109375, 'FOM_3x2': 7705.8701171875, 'FOM_DETF_3x2': 145.46725463867188},\n", + " {'SNR_ww': 354.6062927246094, 'FOM_ww': 34.78291320800781, 'FOM_DETF_ww': 0.8756899833679199, 'SNR_gg': 1767.1658935546875, 'FOM_gg': 2667.28662109375, 'FOM_DETF_gg': 25.922611236572266, 'SNR_3x2': 1768.700439453125, 'FOM_3x2': 8578.8291015625, 'FOM_DETF_3x2': 151.23822021484375},\n", + " {'SNR_ww': 354.8816833496094, 'FOM_ww': 36.55479049682617, 'FOM_DETF_ww': 0.8987427949905396, 'SNR_gg': 1821.4979248046875, 'FOM_gg': 2915.06396484375, 'FOM_DETF_gg': 27.992963790893555, 'SNR_3x2': 1823.001220703125, 'FOM_3x2': 9485.4541015625, 'FOM_DETF_3x2': 156.7353973388672}]\n", + "\n", + "random_scores_j = [{'SNR_ww': 327.1508483886719, 'FOM_ww': 3.3171546459198, 'FOM_DETF_ww': 0.092340387403965, 'SNR_gg': 677.09228515625, 'FOM_gg': 32.099971771240234, 'FOM_DETF_gg': 0.1580391675233841, 'SNR_3x2': 700.0398559570312, 'FOM_3x2': 852.3770751953125, 'FOM_DETF_3x2': 12.79428482055664},\n", + " {'SNR_ww': 351.2440185546875, 'FOM_ww': 23.247020721435547, 'FOM_DETF_ww': 0.6437975764274597, 'SNR_gg': 1106.9310302734375, 'FOM_gg': 527.278076171875, 'FOM_DETF_gg': 5.282368183135986, 'SNR_3x2': 1110.4364013671875, 'FOM_3x2': 2280.726806640625, 'FOM_DETF_3x2': 43.6702995300293},\n", + " {'SNR_ww': 352.9674072265625, 'FOM_ww': 30.201784133911133, 'FOM_DETF_ww': 0.7597047090530396, 'SNR_gg': 1151.7760009765625, 'FOM_gg': 819.4025268554688, 'FOM_DETF_gg': 7.07086181640625, 'SNR_3x2': 1155.22509765625, 'FOM_3x2': 3679.62744140625, 'FOM_DETF_3x2': 49.80576705932617},\n", + " {'SNR_ww': 354.352294921875, 'FOM_ww': 36.73133850097656, 'FOM_DETF_ww': 0.8435292840003967, 'SNR_gg': 1244.733642578125, 'FOM_gg': 990.042724609375, 'FOM_DETF_gg': 8.24472427368164, 'SNR_3x2': 1247.9957275390625, 'FOM_3x2': 4521.0576171875, 'FOM_DETF_3x2': 55.020790100097656},\n", + " {'SNR_ww': 354.3929748535156, 'FOM_ww': 37.14365768432617, 'FOM_DETF_ww': 0.8497052192687988, 'SNR_gg': 1302.3973388671875, 'FOM_gg': 1204.456298828125, 'FOM_DETF_gg': 9.355816841125488, 'SNR_3x2': 1305.5096435546875, 'FOM_3x2': 5697.7705078125, 'FOM_DETF_3x2': 57.619598388671875},\n", + " {'SNR_ww': 355.24688720703125, 'FOM_ww': 39.76428985595703, 'FOM_DETF_ww': 0.8731409311294556, 'SNR_gg': 1518.59033203125, 'FOM_gg': 1509.64501953125, 'FOM_DETF_gg': 11.755865097045898, 'SNR_3x2': 1521.27490234375, 'FOM_3x2': 7064.39501953125, 'FOM_DETF_3x2': 62.7745246887207},\n", + " {'SNR_ww': 355.1941223144531, 'FOM_ww': 39.79475402832031, 'FOM_DETF_ww': 0.8728305697441101, 'SNR_gg': 1584.9996337890625, 'FOM_gg': 1644.683349609375, 'FOM_DETF_gg': 12.5249605178833, 'SNR_3x2': 1587.56787109375, 'FOM_3x2': 7788.44873046875, 'FOM_DETF_3x2': 64.36880493164062},\n", + " {'SNR_ww': 355.55487060546875, 'FOM_ww': 39.971771240234375, 'FOM_DETF_ww': 0.8794472813606262, 'SNR_gg': 1690.378173828125, 'FOM_gg': 3778.079345703125, 'FOM_DETF_gg': 27.599533081054688, 'SNR_3x2': 1692.511474609375, 'FOM_3x2': 17064.439453125, 'FOM_DETF_3x2': 134.9441680908203},\n", + " {'SNR_ww': 357.0149841308594, 'FOM_ww': 43.642425537109375, 'FOM_DETF_ww': 0.9857875108718872, 'SNR_gg': 1796.6209716796875, 'FOM_gg': 4112.5537109375, 'FOM_DETF_gg': 31.20852279663086, 'SNR_3x2': 1798.3226318359375, 'FOM_3x2': 17760.564453125, 'FOM_DETF_3x2': 152.83560180664062},\n", + " {'SNR_ww': 357.0483093261719, 'FOM_ww': 43.82171630859375, 'FOM_DETF_ww': 0.9936894178390503, 'SNR_gg': 1842.779052734375, 'FOM_gg': 4300.279296875, 'FOM_DETF_gg': 32.844966888427734, 'SNR_3x2': 1844.4127197265625, 'FOM_3x2': 18573.9375, 'FOM_DETF_3x2': 160.4752197265625}]\n", + "\n", + "chi_scores = [{'SNR_ww': 346.5560302734375, 'FOM_ww': 9.114718437194824, 'FOM_DETF_ww': 0.2503356337547302, 'SNR_gg': 883.410888671875, 'FOM_gg': 39.0669059753418, 'FOM_DETF_gg': 0.4050174355506897, 'SNR_3x2': 896.4786376953125, 'FOM_3x2': 843.8729248046875, 'FOM_DETF_3x2': 24.316349029541016},\n", + " {'SNR_ww': 354.8981628417969, 'FOM_ww': 32.0916748046875, 'FOM_DETF_ww': 0.8403875231742859, 'SNR_gg': 1135.8251953125, 'FOM_gg': 856.9429931640625, 'FOM_DETF_gg': 8.652419090270996, 'SNR_3x2': 1138.489013671875, 'FOM_3x2': 2470.149169921875, 'FOM_DETF_3x2': 52.71646499633789},\n", + " {'SNR_ww': 355.50146484375, 'FOM_ww': 37.755615234375, 'FOM_DETF_ww': 0.926099956035614, 'SNR_gg': 1291.5467529296875, 'FOM_gg': 1620.9384765625, 'FOM_DETF_gg': 15.487205505371094, 'SNR_3x2': 1293.889404296875, 'FOM_3x2': 5691.78515625, 'FOM_DETF_3x2': 107.30359649658203},\n", + " {'SNR_ww': 357.10772705078125, 'FOM_ww': 41.865394592285156, 'FOM_DETF_ww': 0.9800273776054382, 'SNR_gg': 1454.014892578125, 'FOM_gg': 2702.856689453125, 'FOM_DETF_gg': 23.363046646118164, 'SNR_3x2': 1455.990234375, 'FOM_3x2': 9601.0830078125, 'FOM_DETF_3x2': 137.81097412109375},\n", + " {'SNR_ww': 357.3131103515625, 'FOM_ww': 42.954627990722656, 'FOM_DETF_ww': 0.998559296131134, 'SNR_gg': 1558.8424072265625, 'FOM_gg': 3393.94921875, 'FOM_DETF_gg': 28.310165405273438, 'SNR_3x2': 1560.711669921875, 'FOM_3x2': 11873.3955078125, 'FOM_DETF_3x2': 151.22581481933594},\n", + " {'SNR_ww': 357.59197998046875, 'FOM_ww': 43.62521743774414, 'FOM_DETF_ww': 1.0060865879058838, 'SNR_gg': 1667.6494140625, 'FOM_gg': 3912.66796875, 'FOM_DETF_gg': 32.30958557128906, 'SNR_3x2': 1669.431396484375, 'FOM_3x2': 13472.0498046875, 'FOM_DETF_3x2': 162.13380432128906},\n", + " {'SNR_ww': 357.6208801269531, 'FOM_ww': 44.28642654418945, 'FOM_DETF_ww': 1.013672113418579, 'SNR_gg': 1766.71826171875, 'FOM_gg': 4394.3798828125, 'FOM_DETF_gg': 36.23318862915039, 'SNR_3x2': 1768.39990234375, 'FOM_3x2': 14904.86328125, 'FOM_DETF_3x2': 171.53282165527344},\n", + " {'SNR_ww': 357.7373962402344, 'FOM_ww': 44.8723258972168, 'FOM_DETF_ww': 1.0189826488494873, 'SNR_gg': 1846.935546875, 'FOM_gg': 4927.30517578125, 'FOM_DETF_gg': 39.980995178222656, 'SNR_3x2': 1848.527099609375, 'FOM_3x2': 16619.26953125, 'FOM_DETF_3x2': 179.15760803222656},\n", + " {'SNR_ww': 357.7864685058594, 'FOM_ww': 45.14503860473633, 'FOM_DETF_ww': 1.02281653881073, 'SNR_gg': 1935.201171875, 'FOM_gg': 5388.544921875, 'FOM_DETF_gg': 43.69058609008789, 'SNR_3x2': 1936.7386474609375, 'FOM_3x2': 17930.822265625, 'FOM_DETF_3x2': 187.78726196289062},\n", + " {'SNR_ww': 357.82049560546875, 'FOM_ww': 45.32192611694336, 'FOM_DETF_ww': 1.0239624977111816, 'SNR_gg': 1993.5626220703125, 'FOM_gg': 5813.80712890625, 'FOM_DETF_gg': 46.539649963378906, 'SNR_3x2': 1995.0289306640625, 'FOM_3x2': 19282.109375, 'FOM_DETF_3x2': 193.2664337158203}]\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_onemetric(bins, metric, scores1, bintype1, scores2 = None, bintype2 = None, scores3 = None, bintype3 = None):\n", + " \n", + " y1 = []\n", + " for score in scores1:\n", + " y1.append(score[metric])\n", + " \n", + " plt.figure(figsize = (10,7))\n", + " plt.plot(bins, y1, 'o', label = bintype1)\n", + " \n", + " if scores2 is not None:\n", + " y2 = []\n", + " for score in scores2:\n", + " y2.append(score[metric])\n", + " plt.plot(bins, y2, 'o', label = bintype2)\n", + " \n", + " if scores3 is not None:\n", + " y3 = []\n", + " for score in scores3:\n", + " y3.append(score[metric])\n", + " plt.plot(bins, y3, 'o', label = bintype3)\n", + " \n", + " plt.legend()\n", + " plt.xticks(bins, [str(i) for i in bins])\n", + " plt.title(f'{metric} scores')\n", + " plt.xlabel('Number of Bins')\n", + " plt.ylabel('Score')\n", + " #plt.savefig('fig2')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#plot all 3 log, random, and comoving distance bins scores on the same plot\n", + "plot_onemetric(jaxbins, 'FOM_DETF_3x2', chi_scores, 'chi', log_scores_j, 'log', random_scores_j, 'random')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_metrics(bins, scores, title, nrows, ncols, metric = None, sep_figs = True):\n", + " \n", + " assert len(bins) == len(scores), \"The number of bins must be equal to the number of scores (i.e len(bins) == len(scores))\"\n", + " \n", + " if sep_figs == False:\n", + " plt.figure(figsize = (10,7))\n", + " plt.plot(bins, [scores[0]['SNR_ww'], scores[1]['SNR_ww'], scores[2]['SNR_ww'], scores[3]['SNR_ww'], scores[4]['SNR_ww'], scores[5]['SNR_ww'], scores[6]['SNR_ww'], scores[7]['SNR_ww'], scores[8]['SNR_ww']], 'o', label = 'SNR_ww')\n", + " plt.plot(bins, [scores[0]['SNR_gg'], scores[1]['SNR_gg'], scores[2]['SNR_gg'], scores[3]['SNR_gg'], scores[4]['SNR_gg'], scores[5]['SNR_gg'], scores[6]['SNR_gg'], scores[7]['SNR_gg'], scores[8]['SNR_gg']], 'o', label = 'SNR_gg')\n", + " plt.plot(bins, [scores[0]['SNR_3x2'], scores[1]['SNR_3x2'], scores[2]['SNR_3x2'], scores[3]['SNR_3x2'], scores[4]['SNR_3x2'], scores[5]['SNR_3x2'], scores[6]['SNR_3x2'], scores[7]['SNR_3x2'], scores[8]['SNR_3x2']], 'o', label = 'SNR_3x2')\n", + " plt.plot(bins, [scores[0]['FOM_ww'], scores[1]['FOM_ww'], scores[2]['FOM_ww'], scores[3]['FOM_ww'], scores[4]['FOM_ww'], scores[5]['FOM_ww'], scores[6]['FOM_ww'], scores[7]['FOM_ww'], scores[8]['FOM_ww']], 'o', label = 'FOM_ww')\n", + " plt.plot(bins, [scores[0]['FOM_gg'], scores[1]['FOM_gg'], scores[2]['FOM_gg'], scores[3]['FOM_gg'], scores[4]['FOM_gg'], scores[5]['FOM_gg'], scores[6]['FOM_gg'], scores[7]['FOM_gg'], scores[8]['FOM_gg']], 'o', label = 'FOM_gg')\n", + " plt.plot(bins, [scores[0]['FOM_3x2'], scores[1]['FOM_3x2'], scores[2]['FOM_3x2'], scores[3]['FOM_3x2'], scores[4]['FOM_3x2'], scores[5]['FOM_3x2'], scores[6]['FOM_3x2'], scores[7]['FOM_3x2'], scores[8]['FOM_3x2']], 'o', label = 'FOM_3x2')\n", + " plt.plot(bins, [scores[0]['FOM_DETF_ww'], scores[1]['FOM_DETF_ww'], scores[2]['FOM_DETF_ww'], scores[3]['FOM_DETF_ww'], scores[4]['FOM_DETF_ww'], scores[5]['FOM_DETF_ww'], scores[6]['FOM_DETF_ww'], scores[7]['FOM_DETF_ww'], scores[8]['FOM_DETF_ww']], 'o', label = 'FOM_DETF_ww')\n", + " plt.plot(bins, [scores[0]['FOM_DETF_gg'], scores[1]['FOM_DETF_gg'], scores[2]['FOM_DETF_gg'], scores[3]['FOM_DETF_gg'], scores[4]['FOM_DETF_gg'], scores[5]['FOM_DETF_gg'], scores[6]['FOM_DETF_gg'], scores[7]['FOM_DETF_gg'], scores[8]['FOM_DETF_gg']], 'o', label = 'FOM_DETF_gg')\n", + " plt.plot(bins, [scores[0]['FOM_DETF_3x2'], scores[1]['FOM_DETF_3x2'], scores[2]['FOM_DETF_3x2'], scores[3]['FOM_DETF_3x2'], scores[4]['FOM_DETF_3x2'], scores[5]['FOM_DETF_3x2'], scores[6]['FOM_DETF_3x2'], scores[7]['FOM_DETF_3x2'], scores[8]['FOM_DETF_3x2']], 'o', label = 'FOM_DETF_3x2')\n", + " plt.xlabel('Number of Bins', fontsize = 14)\n", + " plt.ylabel('Scores', fontsize = 14)\n", + " plt.title(title, fontsize = 16)\n", + " plt.legend()\n", + " \n", + " if sep_figs == True:\n", + " \n", + " metrics = ['SNR_ww', 'SNR_gg', 'SNR_3x2', 'FOM_ww', 'FOM_gg', 'FOM_3x2', 'FOM_DETF_ww', 'FOM_DETF_gg', 'FOM_DETF_3x2']\n", + "# fig, axes = plt.subplots(nrows = nrows, ncols = ncols, figsize = (15,10))\n", + " \n", + " fig = plt.figure(figsize = (ncols*5, nrows*5))\n", + "# fig = plt.figure(figsize = (15,15))\n", + "# plt.xlabel('Number of Bins')\n", + "# plt.axes(frameon=False)\n", + "# plt.xticks([])\n", + "# plt.yticks([])\n", + " plt.axis(\"off\")\n", + " fig.suptitle(title, fontsize = 16)\n", + "# fig.tight_layout()\n", + " fig.subplots_adjust(top = .95)\n", + "# fig.text(0.5, 0.38, 'Number of Bins', fontsize = 14, ha = 'center')\n", + "# fig.text(0.07, 0.5, 'Score', fontsize = 14, va = 'center', rotation = 'vertical')\n", + " \n", + " numplots = nrows*ncols\n", + " \n", + " for i in range(numplots):\n", + " ax = fig.add_subplot(nrows,ncols,i+1)\n", + " ax.plot(bins,[scores[0][metrics[i]], scores[1][metrics[i]], scores[2][metrics[i]], scores[3][metrics[i]], scores[4][metrics[i]], scores[5][metrics[i]], scores[6][metrics[i]], scores[7][metrics[i]], scores[8][metrics[i]], scores[9][metrics[i]]], 'o', label = metrics[i])\n", + " ax.set_xlabel('Number of Bins')\n", + " ax.set_ylabel('Score')\n", + " ax.set_xticks(bins)\n", + " ax.set_xticklabels([str(i) for i in bins])\n", + " ax.legend()\n", + " \n", + " #plt.savefig('fig.png')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3sAAAPICAYAAABgk+I4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdfbxVZZnw8d8VkB5To4RSQENLcfIlUHJoFMaxDJ+sRHsqe1Gn8jGt6fWJkjFTM0aLXp5qmmaoDJ1Ji0klh0ZRMzUbUVFQxCR1NOXAJGqkGCLS9fyx1sHNcZ/Dedv7nLPO7/v57A973+ve6773y7nZ172uda/ITCRJkiRJ1fKi/u6AJEmSJKnvGexJkiRJUgUZ7EmSJElSBRnsSZIkSVIFGexJkiRJUgUZ7EmSJElSBRnsSdpKRPxtRGTN7dmIeCAi/iEitu+nPj0UEfP6o+32IuL6du/Phoi4NyLOjIjt2tVteL/7672JiO0i4lMRcWdEPBURT5bvw4URsXez+9NIEfHBiLiv/FtYNwD60/Y3Or6mbJvfg4gYX/O9PaXO9peUn2VGxJd60K8ZEfHpbj7n7IhoyjWgOntdETEvIlb1YH9n90nnutfuQxHxb81uV9LgNLy/OyBpwHonsArYCTgWmFXe/1h/dmqAuAv4cHl/B2AacBbwCrZ+f44FnmxwX5rRRj2XAG8GvgIsBoYBf0HxvXktcF8/9KnPRcQYYC7wI+ADwDP926M+8RRwAsXrqvUOoDeB1wzgTcDXu/Gc7wNX9aLN/vQGijFSkgYsgz1JHVmWmfeX968pj9Z8KCI+kZl/7s+ODQBPZebimsfXRcRrgHdRE+xl5tJGd6QZbbQXEXtRBJmfzMxv1my6Evh6RDQlayQiRgDPZWYjjwztTRHIXpiZN/V2Z03q87ZcBpwYEXtm5oM15ScClwJ/2+gORMR2mbkxM1cxSAOmdmOAJA1IpnFK6qo7gBZgVFtBRLw5Iv4zItZExJ8i4u6I+L8RMaz2iW1pRxFxfET8JiKejoglEXFY+0Yi4hNl/WfKOlPrdSYiDomIayNifbm/X0TEIe3qzIuIVRExOSL+q0y5XBkRR5fbP1229WRE/CwiRvfi/XkSGFHndc+redyWfjclIn5Utrs6Ir5VmyJbk2734Yj4Yvn+rouI/4iIcX3RRll3r/Lz+1NEPBoRX4uIU9qnCNbx8vLf/6m3sf1kQET8dURcExF/LD+rOyPiQzXbR0TEl8rX8mz575fKwKj9e/KRiPhKRKwGNgIjy+3HRcTi8rWsi4h/j4g92vXjvRGxtPzO/DEilkfEh+lA+b5eXz78Rdn+vL7qc532to+Ib5R/R+sj4n/Kz3zfjvrYQzcB/w28v6btccDfABd10Lc9y+/T2ojYGBHLIuLYmu3zgJOAsfF8quhD5bbDy8fHRcT3ImIt8Pty2wvSOCNieER8LiLuiWIcWBsRV7W9DxGxY0R8OyIeLvvy+yjGgj57n7rSRrRL42x7LRGxd0T8vPwMfxcRX4h2EyARcVBE/Kp8fY9ExN9HxDnt34su9nWb35uIeFEUKegPRcRLa8oPiGJcnNPtN0nSoOCRPUldNR74I/B4TdlewC+Ab1Okt00GzgZGA6e3e/5UYAJwZln3XGBhRIzPzHUAZQDw/4B5wE+A11CkC+5Uu6OIOBC4AbiH4ihElu3dEBFTMvPOmuo7U/yA/SqwGjgDuDQivgPsA3wUeGXZ7ncojs5tU0S0jZ9taZzvAy7uynOBfy1f13EUqWBnA3+gSAWtNQv4L+CDFCmiX6NIJ/zr3rYRES8GrgG2Bz4CPAqcDPzvLuz7Xorg9vwyuLkmM39fr2JEHENxtOjXFKmvjwH7Aa+qqXYhxfv+DxSByBuAz1N8v97bbpdnALcBp1AccXsmIk4Fvgv8EPgixfflbIrvw4GZ+VQUEwv/BnwLmEkx2bkvHQRepXOB28vnfJRiwmNtX/S5g/a2K/v+JWANRVD9EWBxROybmXWD6x76N4pUznPLx++nOMJ2ffuKEbE7cAvFd+RTFO/Buyn+jmZk5hXlfkYDrwfeXj51Y7tdfZvi6O8JFN+7jvyYIiX0/wHXlnWnAbtRfPe+Ubbx9xTpwrsAh9L5Z9ldvWnjcorv4jeAtwHnAI+UZUTEKIpxczXF0dRnKd7X8T3s6za/N5n554h4P3An8C/A8RHRQvFer6D4jkqqosz05s2bty03ng+eJlBMCL2MIth4Dvi7Tp4XZf0zKIKKF9Vse6gse1lN2eSynfeWj19E8YPoqnb7fXdZb15N2U+BdcDImrKdgSeAy2rK5pXPnVZTdmBZthIYVlP+dWBTbVkHr/P68vntb1cA27er+1C7fre9t+e0q7cQ+G3N4/FlvRva1ftMWT6mD9o4pax3SLvP8M6yfPw23oe3Ufzob3v9DwD/COzbbn8PAUtqvw/t9rN/+fyz25V/viw/sN17cgcQNfV2pJiEuKDd88dT/Ij+ZM1790QP/h7eVLZ7eF/1uRttD6OYTHgK+FSdz3h8TdlW34MO9tfWn5MpgtIEppTbVgCzy/sJfKnmeT8oP+td2u3vGop079q/t1V12j283OfldbadDWTN4yPKuh/v5HXcDXy9B+/nVq+r3bat+t6VNtp/B9peC/CBdvWWA1fXPP6H8rs5rqasheJoZ3bhdTwE/Ft3vzfltmPb+khxzuZ6YJ/uvpfevHkbPDfTOCV15F6K4OcJih97/5KZ/1hbISJ2i4h/iYjfUfx42UQxuzyS4khUrZsz8w81j5eX/7al2o0rb/PbPe9SikCz1jRgYZZHBAEy80mKgKv9Ua+nM/PGdq8L4NrM3NyufDjF0YNtuZPiCMbrgcOA04BDgH+PiOjC83/e7vFynn8ftlWPDup2t40pwMOZeWtbQWYmxfu9TZn5HxTBw3EUR2zWURxNWBoRbyqrTaA4gvf97Pg8z2nlv+1XF2x73P7zXFD2s80bKAL9H5Xpf8PLo66rKD7Ttv3fBrwsinTit0ZEb44C9bbPHYqId0XELVGs+vkc8DRFQDuhp52tJzP/m+Jo6wkRMZliUZ26KZzAUcB/An9s9x4vAl4XETt3sdnLu1DnzRTByPc6qXMb8Ldl6uPkaJc23kd600b7v727eeHf3s1ZnK8IQGZuqPO8Luvq9yYzL6c4svdd4P8AH8vM3/a0XUkDn8GepI4cSxHMvIUileojEXFi28byHJQrgLdSBHhHlPVnl1Xap2k9UfsgMze2q9cWZP2+Xb3n2Dp1FIo0pTV1+vw/FEcia221VH5mPlve/UO7em3lXbm8xPrMXFLefp2Z/0yxMMtbKX4Yb8sT7R5vpEjF6kq9rvZxW23sRpGW117ddMx6MvPpzLw8Mz+emQcDfwVsBs4vq+xS/tvZAhxt5/+1/zz/p912OqjXNqlwLcVkQ+3tgLY+ZOYNFCuF7k4RdKwtz8E6sJO+NarPdUXE2yjSl39DkQr6lxR/U2vp2mfeXRdRHDk/Gbg1M1d2UO8VFOmG7d/ftvO8dungee115X3YheII7IZO6nyMImD5IEVQ9mh5ztoO29j3ZoqjXvUMY+tJpZ62AfX/9mo/v17/7dXqwffmQoqx4FG6nnouaZDynD1JHbk7y9U4I+I6issNzImISzPzaeDVFKmYJ2TmliMc5Q+Pnmj7IfjK2sLyCEL7H5NPALvW2ceuvPCHVrOsKP89kOK8pIFuDcXRnPZeWaesSzJzcURczfMB72Plv2M7eVrb57UrRSooNY/hhYF++yNkbdv/luc/g1pP1fTvp8BPI2JHitTCLwNXRcS4To48NqLPHTkeuD8z/7atoDwnsn3w2FfmA9+kOMLz8U7qPQ78iuL9qmd1F9vryvvwGPDyiGjpKODLzPUU57POiohXUZxnej7FhM3nOtn3o8CYDraNoSbY6kUbXbGGF2Y+QM//9rr8vSmD1QsojjbuTfGaPtXDdiUNAh7Zk7RN5VG4mRQ/UD5SFrfNcG9qq1f+wHhfD5tZRXHOXvsFUt7BCyembgCOjogtC7eU999WbusPbUeI1nZaa+BYDOwRNSuYlimo79jWEyNip3qpe2Wq2948H7j/luL8opM7SW9t+7yOb1fe9j26kc79F0VA95qao621txccrcrM9Zm5kOLIzW50/chUX/W5IzvwwpTlE+j4aFSvlGnQ51Ecof9xJ1Wvovh+r+jgPW474ryR4tyz3ria4lzPk7tSOTN/l5lfo0hT3n8b1X8JTI+Il9QWRsSuFEelf9kHbXTFYuANUbOybrlYytE93F93vjffpJh8OQb4LPCJiOhKNoKkQcoje5K6JDOviIjbgM9ExD9SpAz9DpgdEZspgr4ezxBnsVrcOcD3I+KHFD8+X0Mxu97+ouHnUqRM/iIivkxxxOBzFD96vtjTPnTDThExpbz/YoofwmcCrRTXMBsM5lG8Z5dFxBkUQerJPJ8G29mRrgnALyPiXylWFXyUImg6meLH8EegOAcwIj5J8Z5cFxH/XLbzF8ArMvOszFwREZcAZ5dHcf+L4jy8M4FLMvOuzl5EZj4ZETOB70Rx6YwrKRZsGUtx7tz1mXlxRHyR4sjJLymORI2jOJq1LDO7FaD3ts+duAqYERHfoFhQ5+Cyj+s6fVYvZGZX/l6+ANwK3Fj+7T9E8T3ZH9grMz9Y1ruH4qjcaRSL8jyTmcvr7K+z/vwyIi6luF7j7sB1FJc0mQb8PDOvj4ibKQLU5RQLjPw18DqK9MTOnEuxwuZ/RcTXKCaXXk2x4uY6itU/AehFG13xdYrzfBeVY95G4NPlv109Clxbr0vfm4h4B8Xf6AnlOZvfiog3A/PKVWvrpZZKGuQM9iR1x+cpFmU4NTO/EREzKFZgvIgite0C4GE6X1yhQ5n5gzLF7tPAeyhSjY6n3UIYmXlXRBxOcX7ghRRHAhYDf51bX3ahUQ4Ebi7vb6L40bgAOLd20ZiBLDOfLX/ofRv4Z4oftBdTLLF/PkXA1JH7Kc7XehPFuZ2jyucvA95Zpku2tfOziDiSIhD6QVn8ADU/rCmuz/bfFOdHfZ4iGPsyxZL1XXkt/xIRj1AcfX4vRXDQSnGEbVlZ7RaKH8DfoEhve5TiKNKZXWmjjl71uQPfozin8IMUl6m4jeJodVcWNmmYzHy4XMTlbIqVJEdTpHbezdbBz/cpFh/5B4pFmn5Hzy4ncDzFRMRJwCcpvou3lfuH4nN9F8XlVoZTfA6fysxvbeN13FtO0pxDcRmTkRRpo1cDX8itL23Roza6IjMfi4g3UlzS4yKK9/KfKf6OTuzsuaUWtr6sxTa/N2Xg/D3gR7Vp9xSrct5FEfAd3dWFhCQNHuHftSSpTUQsBP4iM1/d332RhooyBfoO4LHMfGMn9V5GcXT87Mz8UrP6J2nw8sieJA1REfFpiiNy91FclPmdFOcNndaf/ZKqLiLOpThC/juKc0ZPpsgYeEsH9XemuLzLqWXRYEkXl9TPDPYkaejaSHGe5R4UizmsBE7OzB90+ixJvZUU50KOKe/fBczIzI5W8j0I+A+Kc6Xfnpn3NKWXkgY90zglSZIkqYK89IIkSZIkVZDBniRJkiRVkMGeJEmSJFWQwZ4kSZIkVZDBniRJkiRVkMGeJEmSJFWQwZ4kSZIkVZDBniRJkiRVkMGeJEmSJFWQwZ4kSZIkVZDBniRJkiRVkMGeJEmSJFWQwZ4kSZIkVZDBniRJkiRVkMGeJEmSJFWQwZ4kSZIkVdDw/u5Ab4waNSrHjx/f392Q1Mduv/32xzJzdH/3ozccn6TqcWySNBB1NjYN6mBv/PjxLFmypL+7IamPRcTv+rsPveX4JFWPY5Okgaizsck0TkmSJEmqIIM9SZIkSaoggz1JkiRJqqBBfc5ePZs2bWLVqlU888wz/d2VQWP77bdn3LhxjBgxor+7IlWa49O2OR5JzefY1HOOWRroKhfsrVq1ip122onx48cTEf3dnQEvM3n88cdZtWoVe+65Z393R6o0x6fOOR5J/cOxqWccszQYVC6N85lnnmGXXXZxsOqiiGCXXXZxNk9qAsenzjkeSf3DsalnHLM0GFQu2AMcrLrJ90tqHv/eOuf7I/UP//Z6xvdNA13l0jgldc2Cpa3MWbSS1es2MGZkCzOnT2DGpLGDrg1J6gnHJ0kDUV+PTUM+2HOw11C0YGkrsy5bzoZNmwFoXbeBWZctB+iz738z2qg6xyepMRyfesexSWqMRoxNlUzj7Kq2N7R13QaS59/QBUtbe73v2bNns99++3HggQcyceJEbrnlFg4//HAmT568pc6SJUs4/PDDAbj++ut56UtfyqRJk9h33335zGc+0+s+SB2Zs2jlloGkzYZNm5mzaOWgaqPKGjU+OTZJjk+9MZh/O/3sZz/bsu/Jkydz0003dVp/2bJlvOENb9jSp5/85Ce9fo1SZxoxNg3pYK9Rg/3NN9/MwoULueOOO7jrrru49tpr2X333QF49NFHufLKK+s+b+rUqSxdupSlS5eycOFCfv3rX/eqH1JHVq/b0K3ygdpGlTVifHJskgqOTz03mH87vfGNb+TOO+9k2bJlXHDBBZx88smd9mmHHXbgoosuYsWKFVx11VV88pOfZN26dT1/kdI2NGJsGtLBXqMG+zVr1jBq1Ci22247AEaNGsWYMWMAmDlzJl/60pc6fX5LSwsTJ06ktbXjWbIDDjiAdevWkZnssssuXHTRRQCccMIJXHvttbzlLW/hrrvuAmDSpEl88YtfBODMM8/k+9//fq9enwa/MSNbulU+UNuoskaMT80Ym9auXcuRRx7JQQcdxIc//GFe9apX8dhjjwFw7rnnsu+++3LkkUfynve8h69+9as9fi1Sbzg+9dxg/u204447bllQ5emnn95y/7bbbuPAAw/kmWee4emnn2a//fbj7rvvZp999mHvvfcGYMyYMbziFa9g7dq1vXqdUmcaMTYN6WCvUYP9m9/8Zh555BH22WcfPvKRj3DDDTds2faGN7yB7bbbjl/+8pcdPv8Pf/gD9913H9OmTeuwzqGHHsqvf/1rVqxYwV577cWvfvUrABYvXsyUKVOYNm0av/rVr3jyyScZPnz4lpmum266ialTp/bq9Wnwmzl9Ai0jhm1V1jJiGDOnTxhUbVRZI8anZoxN55xzDkcccQR33HEHxx57LA8//DBQpF5deumlLF26lMsuu4wlS5b0+HVIveX41HOD+bcTwOWXX86+++7L0UcfzQUXXADA61//et7+9rfz+c9/ns9+9rO8//3vZ//999/qebfeeivPPvssr371q3vxKqXONWJsGtLBXqMG+x133JHbb7+duXPnMnr0aN797nczb968Lds///nP152h+tWvfsWBBx7Irrvuylvf+lZ23XXXDtuYOnUqN954IzfeeCOnnXYay5cvp7W1lZe//OXsuOOOW7bfdNNNHH300axfv54//elPPPTQQ0yY4H9mQ92MSWM577gDGDuyhQDGjmzhvOMO6NMT7JvRRpU1Ynxqxth00003cfzxxwNw1FFH8bKXvWxL+THHHENLSws77bQTb3vb23r8OqTecnzqucH82wng2GOP5d5772XBggWceeaZW8q/8IUvcM0117BkyRI++9nPbvWcNWvWcMIJJ/DDH/6QF71oSP90VoM1Ymwa0qtxtr1xjVhRatiwYRx++OEcfvjhHHDAAVx44YVbth1xxBGceeaZLF68eKvnTJ06lYULF/Lb3/6Www47jGOPPZaJEyfW3f+0adP4zne+w8MPP8zs2bO5/PLL+elPf7rlqN3rX/96lixZwl577cWRRx7JY489xve+9z0OPvjgXr82VcOMSWMb/sOmGW1UVaPGp0aPTZnZrXKpvzg+9cxg/u1Ua9q0aTzwwAM89thjjBo1iieeeIL169ezadMmnnnmGV7ykpcA8OSTT3L00UfzpS99iSlTpvT6NUrb0tdj05CfnpgxaSy/Pv0IHjz/aH59+hF98uauXLmS++67b8vjZcuW8apXvWqrOmeccQZf+cpX6j5/n332YdasWXz5y1/usI3dd9+dxx57jPvuu4+99tqLww47jK9+9atbgr0Xv/jF7L777syfP58pU6YwderUrbZLVRcRF0TEoxFxd03ZxIhYHBHLImJJRBxSs21WRNwfESsjYnpN+cERsbzc9q1o4hV0+3p8asbYdNhhhzF//nwArr76av7whz9sKf+P//gPnnnmGdavX8/Pf/7zXr0WSf1nsP52uv/++7dMPN1xxx08++yz7LLLLgCccsopnHvuubzvfe/jc5/7HADPPvssxx57LCeeeCLvfOc7e/X6pP4y5IO9Rli/fj0nnXQSr33taznwwAO55557OPvss7eq85a3vIXRo0d3uI9TTz2VG2+8kQcf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kiqVk0nPhl6Sl5JJLf7/ly1YsnpLsirr3dTHgiWra7aPdmd+kkaG+ak6rZ6bTjjhBN70pjdx8MEH85GPfIS+vr4dLgswb948DjzwQN74xjdyyimnsGHDhuoOVtqBkchNo7rYG6kT3o6ODh588MEtnylTpvDrX/+a973vfXz5y1/m0Ucf5Z577uErX/kKP/zhD7esN23aNK6//vot37/3ve9x0EEHVdUWqT/1ONFZu6F3SHFtzfwkjRzz0/C1Q2664YYbeOihh1i5ciXr16/n3//93wdc/rjjjmPlypU8/PDDHHDAAVx66aVVHau0IyORm0Z1sVfPK3tf+tKX+MAHPsCb3/xmAPbcc08+/elPc9lll21ZZvbs2dx0000A/OpXv2K33XZjwoQJO9zmDTfcwMc+9jEA/uVf/oXXvva1ADz++OP89V//NUuXLuXUU08F4KabbqKjo4MXX3yRF154YcuyGp3qcaIzaXzHkOLaWqvnJ4CrrrqKAw44gKOPPpoPfehDnHvuuUApRx1++OG85S1v4aKLLmLnnXeu+TFJAzE/DV875KZdd90VgM2bN/Piiy9uGVzl5JNP5tprrwXgK1/5Cn/7t38LwPHHH8/YsaUnnw4//HC6u7treJTSS0YiN43qYm+kTnh7e3u3dEM45ZRTAFi1ahWHHnroVst1dXWxatWqLd933XVX9tlnH1auXMl1113He9/73gH3c9RRR3H33XcDcPfdd7PHHnvQ09PDPffcw5FHHsmb3/xmli9fvmX+IYccwv333899993HYYcdVtUxqrXV40Rn3qypdIwbs1WsY9wY5s2aWrN9tLNWz09r167ln/7pn/j5z3/ObbfdxqOPPrpl3nnnncd5553H/fffz6RJk6o6Hmk4zE/D1+q5qWzWrFnstdde7LLLLrznPe8BYOHChXzqU5/i7rvv5oorruCLX/zidutdffXVvOMd7xjuYUoDGoncNKqLvZE64a3sivD9738fKL1ws79hebeNzZkzh+uvv57FixdvSXY78hd/8Rf84Q9/4Pnnn+epp57ife97H3fddRd33303Rx55JGPHjuX1r389jzzyCEuXLuVjH/vYVvM1etXjRGf2jE4uPXUaneM7CKBzfAeXnjrNwQ8GqdXz09KlS3nrW9/K7rvvzrhx4zjttNO2zLv33nu3fH/f+95X1fFIw2F+Gr5Wz01lS5YsYd26dWzcuJE77rgDgL333ptPfepTvO1tb+OKK65g991332qdSy65hLFjx2654yfV2kjkplFd7NXzyt7BBx+83cPCDzzwwHb9yt/97nfzzW9+k3333XdLN4OB/NVf/RVf//rXmTp1KkceeSR333039957L0cccQQARx55JLfeeivjxo3j7W9/O/fccw/33HMPRx11VO0OTi2nXic6s2d08h8XHsMTl53If1x4jCdSQ9Dq+Skza95OqZbMT8PT6rmp0k477cRJJ520pRsowIoVK9hjjz1Yu3btVstec801/OAHP+Db3/6279TTiKp1bmqm9+zVXfmXV4/37JxzzjkcdthhnHrqqUyfPp1nn32Wj3/841x00UVbLdfR0cHll1/OAQccMKjtHnXUUVx00UVcdNFFzJgxg5/+9Kd0dHSw2267bZl/xhlncMYZZzBhwgSeffZZfv3rX3PwwQfX/BjVWmbP6PTkpom1en6aOXMmH/3oR3nuuefYZZdduPHGG5k2bRpQeublxhtv5L3vfe9WAytIan6tnpvKPaImTpzI5s2bueWWW7b0dlq6dCm33nory5cv561vfSvHH388++23Hz/60Y+4/PLL+dnPfsarXvWqmh+nNJJGdbEH9TvhnThxIt/61rf40Ic+xPPPP09mcv755/Pud797u2XnzJkz6O0eeeSRPPXUUxx11FGMGTOGffbZhwMPPHDL/MMOO4ynn356y528N77xjey1115elZJaQCvnp87OTj7xiU9w2GGHMWnSJA466KAtF6E+//nP83d/93dcccUVnHjiiVviklpDK+emP/7xj5x00kls3LiRvr4+jjnmGD7ykY+wceNGPvShD/H1r3+dSZMmccUVV/DBD36QO+64g3PPPZeNGzdy3HHHAaULVl/+8pdreqzSSIlW7mrT1dWV297ef+SRR3jDG97QoBa1Pn9/agYR8UBmdjW6HdUwP5WuoO+8885s3ryZU045hQ9+8IOccsop/OlPf6Kjo4OI4Prrr+e6667bqhtV2Wj7fan5mZs0EH+PapSBctOov7MnSRoZF198MT/5yU944YUXOP7445k9ezZQeubm3HPPJTMZP348V199dYNbqmazeHlPXboJStJQtGJusthrEYcddhgbN27cKvbNb35zyzMwktQoO8pPn/nMZ/pd/sgjj+Shhx6qR9PU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yp69bmBCn9vjgZX1HnRbL2itffnLX+btb387hx1WWXtm9OjRfPrTn+bCCy/ctM3MmTO56qqrALj33nvZc889GTNmzIDH2G233bjoootYuHAhDz/8cG2fwBbe9773cfXVVwPw+te/ntNPPx2ASy65hI9+9KN8+tOf5otf/CIA55xzDscddxwAixcv5i1veUtdY9P2NeJX7ZVr11XVrs2Znwbvqaee4n3vex+HHHIIJ554Iq9+9av57ne/C8A111zDQQcdxMte9jLOOussTjzxxLrGotbUZvnpQOCoiLgpIn4SES8q2psyK8rcNHg77rgjO+20EwBPPPEETz31FACPPvookydPZsWKymt46qmn8rWvfY1ddtmFY489dtNjDzvsMLq7u+sao5qrHrmpVYq9q4G3Fatyvhh4tBHH69Ur2a9bt27TrvzXv/71ANx5550cfvjhm23X1dXFnXfeuen2HnvswYQJE7jjjju4/PLLedOb3lT12HvssQeTJk3i7rvvBuD3v//9ZlMRfvazn223j2OPPZapU6dyxBFHbHWbo48+elNfPT093HXXXUBlusVRRx212f1Llizh8ccfZ/369ZvuV3M14j/rcaM6qmrX5sxP/RtIflqwYAH3338/y5Yt4+KLL+aXv6zs6Pjb3/7Gu9/9bn74wx9y4403UotDAdSe2iw/7QDsBbwYmA1cGZUVOaqaFZWZXZnZVU0h1B9zU/8GkpsAHnjgAV7wghcwYcIEzj33XMaNG8eee+7Jl770Jd7+9rdzxRVX8Mgjj/Cud71rs8etXbuW//7v/+b444+v+vmpfdQjNzVkGmdEXA4cA4yOiG7gE8BIgMy8CLgGeDVwD/BX4J8aEde4UR309JOchprs+5uKkJn9rpa0Zdspp5zCFVdcwaJFi1i8eDFf//rXqx6/ss5NRX9TEbZnIFMRjjrqKL7whS9w1113cfDBB/PII4+watUqfvnLX/LFL36RnXfemVtuuYXHHnuMnXbaicMOO4wlS5bws5/9bNMePzVPI37Vnj1j8mZTfQA6Ro5g9ozJNRujzMxP/RtIfrrxxht54xvfyLOe9Sye85znbPpl/Le//S3Pfe5zN52L6tRTT93s+B8NH22Wn7qBBcUidjdHxFPAaJo0K8rc1L+BTjGfMGECt99+OytXrmTmzJm84Q1vYN999+UVr3gF3/nOdzjj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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_metrics(jaxbins, random_scores_j, 'Random Binning Scores for all Metrics Using Jax', 3, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5gFl+bGZeXdZfn5m7peZL8rMgzLzP6tqW6+qgv0OO+zAddddx5lnnsmUKVN47Wtfy5IlSzYv/8AHPtC0h+qKK67gwAMP5HnPex6vfOUred7zntdvHXPmzOHyyy/n8ssv5+STT2bNmjV0d3fz3Oc+lx122GHz8iuvvJJjjjmGjRs38oc//IE77riDGTPa889MnasdQ5jmz5rG6ccfwLRJXQQwbVIXpx9/QDsv4l8CHN2n7JPAR8priT9UPiYiXgicAOxXPueLvSMNKK4zXkAx2mDvJtusRBXxqR2x6corr+SEE04A4Oijj+Y5z3nO5vJXv/rVdHV1seOOO/KqV71q2K9DGinj0/CN5WMngOOOO45f//rXLFu2jA9+8IObyz/0oQ9x8cUXs3LlSt773vdu8Zy7776bE088ka9//es84xltuQJK41QVsanS2Tg7Xe+Oq2JGqQkTJjB37lzmzp3LAQccwNlnn7152ZFHHskHP/hBVqxYscVz5syZwwUXXMBvfvMbDj/8cI477jhmzmz+s4NHHHEEX/jCF7jzzjs57bTT+P73v8/3vve9zWftDj74YFauXMlee+3FUUcdxX333cdXvvIVXvziF4/4tak9qpztbOqkLrqbJHatHsI0f9a0UZuhLTMvj4jpfYuB3omfng2sL++/GvhOZj4G3B4Rt1JMKnUHsFNmXgUQEecA84HmF4+0UFXxqerYVPzqzuDLpdFifBqesXzs1OiII47gtttu47777mPy5Mk88MADbNy4kU2bNvHoo4/yrGc9C4CHHnqIY445ho9//OMceuihI36N0ta0OjaN++6J+bOm8fNTjuT2M47h56cc2ZKdu3btWm655ZbNj1evXs3zn//8LdZ5//vfzyc/+cmmz99nn31YtGgRn/jEJ/qtY/fdd+e+++7jlltuYa+99uLwww/nU5/61OZkb9ttt2X33XfnvPPO49BDD2XOnDlbLFdnq/qautEewjSK3gUsjoi7gE8Bi8ryacBdDeutK8umlff7ljcVEQvK4VcrW3FdR6vjUzti0+GHH855550HwEUXXcSDDz64ufw///M/efTRR9m4cSM/+tGPRvRapBqqND610lg9drr11ls3dzxdf/31PP744+y8884ALFiwgI997GO84Q1v4H3vex8Ajz/+OMcddxxvetObeM1rXjOi1yeNlnGf7FVh48aN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fvQj1qxZw8aNG/n3f//3CZd/85vfzJo1a3jooYc49NBDufTSS6vaV2k89chN07rYa+SRvU996lP87d/+La95zWsA2HffffnIRz7CZZddtm2ZRYsWcdNN5XkffvrTn/Lyl7+cGTNmjLvN5cuX8/73vx+Af/u3f+MVr3gFAP/5n//J61//eu677z5OP/10AG666SZKpRK///3vee6557YtK9XLrJ7SpOLaXrvnJ4Crr76aQw89lJNOOon3vOc9nH/++UA5Rx133HG89rWv5V//9V956UtfWvN9kiZifpq6TshNe+65JwBbtmzh97///bbJVU499VSuv/56AD772c/yV3/1VwC85S1vYbfdylc+HXfccaxbt26MrUrVq0dumtbFXr2O7I2MjGwbhnDaaacB8PDDD3P00Udvt9yCBQt4+OGHt73ec889OeCAA1izZg033HADf/mXfzlhOyeeeCJ33XUXAHfddRf77LMPQ0ND3H333Zxwwgm85jWvob+/f9v7Rx55JPfffz/33nsvxx57bFX7KL2QxX1zKXV3bRcrdXexuG9uk3rUXto9P61fv57/+T//Jz/4wQ+49dZbeeSRR7a9d8EFF3DBBRdw//33M2vWrKr2R5oK89PUtXtuGtXX18d+++3Hy172Mv7iL/4CgGXLlvHhD3+Yu+66iyuvvJJPfvKTO613zTXX8Kd/+qdT3U1pQvXITdO62KvXkb3KoQhf//rXgfINN8ealnfH2JlnnsmNN97IypUrtyW78fzxH/8xv/nNb3j22Wd58skneec738mdd97JXXfdxQknnMBuu+3GK1/5StauXct9993H+9///u3el+pp0fxeLj19Hr09JQLo7Slx6enznPxgF7V7frrvvvt4wxvewN577013dzdnnHHGtvfuueeeba/f+c53VrU/0lSYn6au3XPTqFWrVrFhwwY2bdrE7bffDsD+++/Phz/8Yd74xjdy5ZVXsvfee2+3ziWXXMJuu+227YyfVGv1yE3Tuthr5JG9I444YqeLhR944IGdxpW/7W1v44tf/CIHHnjgtmEGE3nd617HF77wBebOncsJJ5zAXXfdxT333MPxxx8PwAknnMAtt9xCd3c3b3rTm7j77ru5++67OfHEE2u3c9I4Fs3v5T8uOpnHL3sr/3HRyX6RmoR2z0+ZWfN+SrVkfpqads9NlfbYYw/e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nd78dOLEiUybNo1p06Zx+OGHc9FFF/HUU08BcP/999PW1rZdLN/4xjc45phjmD59Ooceeihjx47dLs6e7fW0/eQnPxn2+6GRaemqLuYvWU3Xpm4S6NrUzfwlq6vyHRspzE/mJ9VGs+aniLiSygVWpkREZ0S8E7gCeF5xO4argHOKo3x3AVcDdwPfB86t15U4zU1Dy03/8z//w1FHHcX06dM54ogjuPTSS3f6nvzxj3/kta99LVOnTuWII45g3rx5A3071aJqkZtG9JG9nje0e3MlN/a8ocCwKui2tjZuv/327dp+97vf8eY3v5mlS5dy5JFH8tBDDzFr1iw6Ojp47WtfC8C0adO46qqruOiiiwC45pprOPzww3fZ34033siYMWN44oknmDNnDnPmzGHx4sUAPP/5z39WLG9729sA+PrXv87KlSv54he/2O/2pOFYuHzttu9Wj+7Nz7Bw+dpm/fW8qZifzE+qnWbNT5l59g5mvWUHy18MXFy7iJ7N3DT03HTIIYfwk5/8hD322IMnnniCF73oRbz+9a9n3LhxO1znox/9KCeeeCJPP/00J598Mt/73vd49atfvcvXp9ZUi9w0oo/s7ewNrbYvfelLvP3tb+fII48EYMyYMXz6059mwYIF25aZPXs21157LQD33nsv++23H/2dSL0je++9N5deeilLly7lkUceqe4L6OP9738/y5YtA+CMM87gHe94BwCXX345F5GOiAMAACAASURBVF10EZ/+9Kf5whe+AMAFF1zASSedBMCKFSt4y1v6/T9LJbN+U/eg2rU989PQbd26lfe///0cccQRnHbaabzmNa/hmmuuAeC6665j6tSpvPKVr+S8887jtNNOq2ksak7mp6EzNw3d7rvvzh577AHAU089xdatWwF47LHHmDJlCmvXVt7Ds88+m69+9avstddenHjiidvWPfLII+ns7KxpjGqsWuSmEV3s1SrZd3d3bzuUf8YZZwBw1113cdRRR2233MyZM7nrrru2Te+7775MmDCBO++8kyuvvJI3velNg+573333ZdKkSdxzzz0A/OY3v9luKMKPfvSjXW7jxBNPZPr06RxzzDE7XOb444/ftq2uri7uvvtuoDLc4rjjjttu/sqVK3niiSfYvHnztvkqv3HtbYNq1/bMT/0bSH5asmQJ999/P6tXr+ayyy7jpz+t3HbsySef5D3veQ/f+973uPnmm9m4ceOgX4PKwfw0dOam/g0kNwE88MADvPjFL2bChAlceOGFjBs3jv32248vfvGLvP3tb+eqq67i0Ucf5d3vfvd2623atIn/+I//4OSTTx7061PrqEVuGtHDOMe1t9HVT3IabrLvbyhCZvZ7taS+bWeddRZXXXUVy5cvZ8WKFXzta18bdP+Zf7rycn9DEXZlIEMRjjvuOD7/+c9z9913c/jhh/Poo4+yYcMGfvrTn/KFL3yBPffck9tuu43HH3+cPfbYgyOPPJKVK1fyox/9aNsRP5Xb3FlTthvqA9A2ehRzZ01pYFStw/zUv4Hkp5tvvpk3vvGN/Nmf/RkHH3zwtl/Gf/WrX/G85z1v272ozj777O3O/9HIYX4aOnNT/wY6xHzChAnccccdrF+/ntmzZ/OGN7yBgw46iFNOOYV/+7d/49xzz+WXv/zlduts2bKFs88+m/POO4/nPe95g4pLraUWuWlEH9mbO2sKbaNHbddWq2R/xBFHPOtk4dtuu+1Z48pf97rX8c1vfpNDDz2Ufffdd9D9PP7449x///0cdthhw4p3Vzo6Onj00Uf5/ve/z/HHH89xxx3H1Vdfzd57780+++zD6NGjmThxIl/72td4xStewXHHHceNN97Ib37zG174whfWNDYNTC1OsO9t9owOLjlzGh3tbQTQ0d7GJWdO83y9ATI/DV3vnbaBtGvkMT8NnbmpOsaNG8cRRxyx7ajh1q1bWbNmDW1tbc8aTjpnzhwmT57M+eefX7f41Bi1yE0j+shezxtXj0svn3vuuRxzzDGceeaZTJ8+nYcffpgLL7yQj3/849st19bWxqc+9akhJZwnnniC97///cyePZv999+fxx57rFrh9+vlL385n//857nhhht4+OGHecMb3sAb3vCGbfOPP/54PvOZz3DFFVcwbdo0PvzhD3PUUUd5P5gmUKsT7PuaPaPDnachMj8N3Stf+UoWL17MOeecw8aNG7npppt485vfzNSpU7n33nu3XT3vX//1X2sWg5qf+WlozE1D19nZyQEHHEBbWxuPPvooP/7xj/nwhz8MVK4i+sIXvpB//Md/5B3veAc//elPGT16NBdddBGPPfYYl112Wc3iUnOpdm4a0cUe1C/ZH3LIIXzrW9/i3e9+N48//jiZyfnnn8/rXve6Zy171llnDWrb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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_metrics(jaxbins, log_scores_j, 'Log Binning Scores for All Metrics Using Jax', 3, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#this was just a placeholder while waiting for jobs to run\n", + "empty_dict = {'SNR_ww': 0, 'FOM_ww': 0, 'FOM_DETF_ww': 0, 'SNR_gg': 0, 'FOM_gg': 0, 'FOM_DETF_gg': 0, 'SNR_3x2': 0, 'FOM_3x2': 0, 'FOM_DETF_3x2': 0}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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sPvuu7PbbrsBMGHCBLbffnv6e2ZU6k4VsanS2TiHuqqC/Vvf+lYeffRRdt99d/72b/+WX/3qVxuXvfGNb2SLLbbg+uuv73L9p556igceeIBDDjmkyzoHHnggN998M/feey+77LILN954IwC33norBxxwAIcccgg33ngjf/zjHxk9evTGI1033XQTBx98cL/e31BXdSJW9RBLqH5HZNaMKbSNGbVJWduYUcyaMWVAtt+qNjbjQOAEiuHhi8rHkcAXgcMj4gHg8PI1mXkvcAlwH3A1cGo5yRTAKcB3gAeB39KCCRCq+A60IjadeeaZHHbYYdx1110ce+yxPPLII0Ax9OrSSy9l4cKFXHbZZSxYsKDP70Pqr0GOT8amJloRnwAuv/xyXve613HUUUdxwQUXALDffvtx9NFH85nPfIbTTjuN9773vey1116brHf77bfz3HPPseuuu/bjXUrdqyI2jehkr6pgv/XWW3PnnXdy3nnnMX78eP7qr/6KCy+8cOPyz3zmM02PUN14443ss88+7LDDDrztbW9jhx126LKNgw8+mPnz5zN//nxOOeUUlixZwvLly3nVq17F1ltvvXH5TTfdxFFHHcWaNWt49tlnefjhh5kypWU72y3XikSsFdd6VL0jMnPaRM45bm8mjm0jgIlj2zjnuL0H9AL7VrTRncy8KTOjHEUwtXxcmZlPZOabM3O38ueTDeucnZm7ZuaUzLyqoXxBOUJh18z8SGZWPhNwFd+BVsSmm266ieOPPx6AI444gm233XZj+THHHENbWxuveMUrePvb397n9yH112DGJ2NTc62ITwDHHnss999/P3PnzuWzn/3sxvLPfe5zXHvttSxYsIDTTjttk3Uee+wxTjjhBL73ve/xJ38yonedVbEqYlNLZuMcqjo+uCpmlBo1ahSHHnoohx56KHvvvTcXXXTRxmWHHXYYn/3sZ7n11ls3Wefggw/miiuu4De/+Q0HHXQQxx57LFOnTm26/UMOOYRvfvObPPLII5x99tlcfvnl/OQnP9l41m6//fZjwYIF7LLLLhx++OE8/vjjnH/++bzhDW/o93sbyrpLxAbqn3grrvWo8rvZ2EbVOzataKOuqvoOVB2butrXbME+qNQrxqe+Gc77To0OOeQQfvvb3/L4448zbtw4nnzySdasWcP69etZu3YtL3/5ywH44x//yFFHHcVZZ53FAQcc0O/3KG3OQMemEX94Yua0idz8ycN46ItHcfMnDxuQD3fp0qU88MADG18vWrSI1772tZvU+fSnP82Xv/zlpuvvvvvuzJ49my996UtdtrHTTjvx+OOP88ADD7DLLrtw0EEHce65525M9l72spex0047cckll3DAAQdw8MEHb7K8rlqRiLXqWo8qvpsaXgb6O9CK2HTQQQdxySWXAHDNNdfw1FNPbSz/r//6L9auXcuaNWv4+c9/3q/3ImnwDNd9pwcffHDjgae77rqL5557ju222w6Ak08+mS984Qu85z3v4ROf+AQAzz33HMceeywnnngi73jHO/r1/qTBMuKTvSqsWbOGk046iT322IN99tmH++67jzPOOGOTOkceeSTdzYj14Q9/mPnz5/PQQw91WefP//zP2X333YHiyNby5cs56KCDNi4/+OCDefWrX81WW23FwQcfzLJly2qf7LUiERsC16JJfdKK2HT66adzzTXXsO+++3LVVVex44478opXvGLjNTGvf/3rOe6445g+fTqvfOUrB/LtSRrGWhGfLr30Uvbaay+mTp3Kqaeeyo9//GMigosvvpjRo0fz7ne/m09+8pPccccd/PKXv+SSSy5h/vz5XHjhhUydOpWpU6eyaNGigXzbUuViOA+tmT59ena+yP/Xv/41f/ZnfzZIPRq+WvW5VX0j1s43o4QiERvoazG8oWy1IuLOzJy++ZpD10iNT+vWrWPUqFGMHj2aW265hVNOOWXjztGaNWvYeuutefbZZznkkEM477zz2HfffV+yjZHwOWl4MjapGT8/DbbuYtOIvmZPrdU5EeuYPAUYsESpFde6dbRjcie91COPPMI73/lOXnjhBV72spdx/vnnb1x28sknc99997F27VpOOumkpomeJEkaOCZ7Q9z3vvc9vv71r29SduCBB/LNb35zkHrUd62YPAVMxKRW6C42LVy4sOk6P/jBD1rRNdWAoyfUH3Xad9LQMhxjUy2TvczceKPM4e79738/73//+ytto1VDeVsxeYo01NUlPlUVm4bzpQUaGK0YBaKXqktsgtbsO3UwZo0cwzU21W6Cli233JInnnjCP74eykyeeOIJttxyy8rbatUsltJQZXzqXivjkYauVtzLVJsyNvWNMWtkGa6xqXZn9iZNmsSyZctYtWrVYHdl2Nhyyy2ZNGlS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KuAfgJd3iF8QEQ9HxLURsV93K0bEjIhYFhHLNm7cOKBGDNYJb0dHx7ZuCGeccQYAq1at4thjj91uuba2NlatWrXt8z777MPBBx/MI488wg033MAHPvCBXvdzwgkncPfddwNw9913M2LECNrb27nnnns4/vjjectb3sLy5cu3fX/00Udz//33c99993HccccN6Bg1uAb7f6bVONGZOWUcLcOGbBdrGTaEmVPG9bCGyjV6flq/fj2f//znuffee7n99tt59NFHt3134YUXcuGFF3L//fczevToAR2P1B/mp/5r9NzUZcqUKRx44IHsvffevP/97wdg7ty5fO5zn+Puu+/myiuv5Ktf/epO61177bX81V/9VX8PU+rVYOSmqhd7EfFe4JnMfGCHr64G3gCMBzYAV3a3fmbOzcy2zGx7tSs3r2awTnjLuyL85Cc/AUoP3OxuWt4dY9OmTePGG29k4cKF25JdT/78z/+cF198kRdeeIGnnnqKD37wg/zqV7/i7rvv5vjjj2fo0KG88Y1vZPXq1SxdupRPfvKT232v+jXYd96qcaIzdUIrl515DK3DWwigdXgLl515jJMf7KJGz09Lly7l7W9/O/vvvz/Dhg3jrLNemR1+yZIl2z5/8IMfHNDxSP1hfuq/Rs9NXRYtWsSGDRvYvHkzixcvBuCggw7ic5/7HO985zu58sor2X///bdb59JLL2Xo0KHb7vhJlTYYuakWd/YmA6dFxJPAjZQeNvq9zHw6Mzsz82XgW8DEwW5INa/sHXXUUTsNFn7ggQd26lf+vve9j+9+97sccsgh27oZ9OZtb3sb3/nOdxg3bhzHH388d999N0uWLGHy5MkAHH/88dx2220MGzaMd73rXdxzzz3cc889nHDCCZU7uN3QYI6ng8G/81atE52pE1r5j4tP5InZ7+E/Lj7RE6k+aPT8lJkVb6dUSean/mn03FRuzz335LTTTtvWDRRg5cqVjBgxgvXr12+37Lx58/jpT3/K97//fZ+pp0FV6dxU9WIvM2dl5pjMHAtMAxZn5ociYlTZYmcAjwx2W6p5Ze/888/nuuuuY8WKFQA8++yzfPrTn+Yf/uEftluupaWFyy+/nM9+9rO7tN0TTjiBK664ghNOOIEJEybwi1/8gj322IN999132/dXXXUVb3vb2xg5ciTPPvssjz76KEcddVRlD3A3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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_metrics(jaxbins, chi_scores, 'Chi Binning Scores for All Metrics Using Jax', 3, 3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Combining log and uniform bins" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "I decided to use 5 bins here, but turn it into 4 bins by combining 2 bins. I'm comparing to the uncombined 4 bins scores for each log and uniform bins. This is using firecrown results only." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "#in order combine bins 0-1, 0-2, 0-3, 0-4\n", + "comb_5bins_log = [{'SNR_ww': 347.1550052435396, 'FOM_ww': 43.281384668444375, 'SNR_gg': 1178.1020177366966, 'FOM_gg': 1937.6331074516759, 'SNR_3x2': 1180.154312947983, 'FOM_3x2': 8170.834082030528},\n", + " {'SNR_ww': 347.11524596040493, 'FOM_ww': 12.496906081438635, 'SNR_gg': 1130.6537186403334, 'FOM_gg': 1725.6973362282138, 'SNR_3x2': 1132.7475032766674, 'FOM_3x2': 4340.897488251889},\n", + " {'SNR_ww': 346.29772734556116, 'FOM_ww': 20.391566310838982, 'SNR_gg': 1132.9429122353106, 'FOM_gg': 1108.2282006433647, 'SNR_3x2': 1135.5513182455525, 'FOM_3x2': 3247.449479310309}]\n", + "\n", + "#uncombined score\n", + "log_4bins = {'SNR_ww': 344.3523864717793, 'FOM_ww': 7.472714237157305, 'SNR_gg': 1129.9924402851957, 'FOM_gg': 2217.7143967350557, 'SNR_3x2': 1132.3499261021177, 'FOM_3x2': 17438.170598255823}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "#in order combine bins 0-1, 0-2, 0-3, 0-4\n", + "comb_5bins_random = [{'SNR_ww': 350.62629992935354, 'FOM_ww': 69.62333557208532, 'SNR_gg': 961.3423758223748, 'FOM_gg': 998.7919662764982, 'SNR_3x2': 970.9692811096805, 'FOM_3x2': 2878.907835879231},\n", + " {'SNR_ww': 332.91946164294785, 'FOM_ww': 1573.8141960234443, 'SNR_gg': 969.7202847355114, 'FOM_gg': 3157.055747538249, 'SNR_3x2': 984.1608880916402, 'FOM_3x2': 28180.732187357935},\n", + " {'SNR_ww': 344.4664127650933, 'FOM_ww': 707.9343834362847, 'SNR_gg': 1111.5530740704078, 'FOM_gg': 1722.9278602544168, 'SNR_3x2': 1115.220976362594, 'FOM_3x2': 36901.359762732245}]\n", + "\n", + "#uncobined score\n", + "random_4bins = {'SNR_ww': 351.79965915406984, 'FOM_ww': 55.91220189211659, 'SNR_gg': 1109.8455489042597, 'FOM_gg': 1629.7915293979788, 'SNR_3x2': 1113.3628584854432, 'FOM_3x2': 5025.4907299214065}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_combine_metrics(scores, uncomb_scores, title):\n", + "\n", + " assert len(scores[0]) == 6\n", + " assert len(scores) == 3\n", + " \n", + " x = [1, 2, 3, 4, 5, 6]\n", + " xlabels = ['SNR_ww', 'SNR_gg', 'SNR_3x2', 'FOM_ww', 'FOM_gg', 'FOM_3x2']\n", + " color = ['b', 'g', 'orange', 'r', 'y', 'c']\n", + " \n", + " #plot the combined bins metrics\n", + " plt.figure(figsize = (10,7)) \n", + " for i in range(len(scores)):\n", + " plt.plot(x, [scores[i]['SNR_ww'], scores[i]['SNR_gg'], scores[i]['SNR_3x2'], scores[i]['FOM_ww'], scores[i]['FOM_gg'], scores[i]['FOM_3x2']], 'o', c = color[i], label = f'0-{i+1}')\n", + "\n", + " #plot the uncombined 4 bins metrics\n", + " plt.plot(x, [uncomb_scores['SNR_ww'], uncomb_scores['SNR_gg'], uncomb_scores['SNR_3x2'], uncomb_scores['FOM_ww'], uncomb_scores['FOM_gg'], uncomb_scores['FOM_3x2']], 'ko', label = '4bins uncombined')\n", + " \n", + " plt.xlabel('Metrics')\n", + " plt.ylabel('Score')\n", + " plt.xticks(x, xlabels)\n", + " plt.legend()\n", + " plt.title(title)\n", + " plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/LxjVjGEOmZSEeA6y9fTqFGjOO+88zj00ENZtWoVJ510EtOmTVujziOPPMIJJ5zAqlWrePnllzn66KN5z3veM6DtSpKkaoruzsXamDU2NmZbW9saZffeey9Tp06tU4tUbx5/SdJwFRHzM7Oxu3kOp0qSJFWQIU6SJKmCDHGSJEkVZIiTJEmqIEOcJElSBRniJEmSKsgQN4ysWrWKvffee417vx188MF0vSUKwJVXXslZZ501lM0bVFtttVW35Z/61Ke49tprN8g2enotJUmqIkPcemhtbaWhoYERI0bQ0NBAa2vrBlnvOeec0+f7lb33ve/lE5/4xAbZ7nD2mc98hkMOOaTezZAkadgxxPVTa2srzc3NtLe3k5m0t7fT3Nw84CDX0dHBT3/6Uz70oQ+tNe+73/0uBx54IHvssQfz5s0D4OKLL+b0008H4MQTT+QjH/kIBx54ILvuuivf//73geIbHg466CCmT5/OHnvswQ033LDWuhsaGnj88ccBaGtr4+CDDwbgzDPP5KSTTuLggw9m11135dxzz129zCWXXMJee+3FG9/4Ro477jgA2tvbmTFjBnvttRczZsxg8eLFq9t26qmn8va3v51dd92VX//615x00klMnTqVE088cY22fOxjH2OfffZhxowZLFu2bPXynfvT0NDAGWecwT777MOee+7JfffdB8Czzz7LSSedxH777cfee+/NFVdcARRfTTZz5kz22msvjjnmGJ577rl+HhVJkoYvQ1w/zZo1ixUrVqxRtmLFCmbNmjWg9X70ox/l85//PCNGrH1Inn32WX7zm9/w9a9/nZNOOqnb5R955BFuvPFGfvKTn6zuobv00ks59NBDWbBgAXfccQfTp0/vV5vuu+8+fvaznzFv3jw+/elP89JLL3HPPffQ0tLC3LlzueOOOzjnnHMAOP300zn++OO58847aWpq4iMf+cjq9fzxj39k7ty5fOUrX+GII47gH/7hH7jnnnu46667WLBgwep93Geffbj99tt529vexqc//elu27Tjjjty++23c+qpp/LFL34RgJaWFt7xjndw22238ctf/pJ/+qd/4tlnn+X8889nzJgx3HnnncyaNYv58+f3a/8lSRrODHH91NnD1NfyvvjJT37CuHHj2Hfffbudf+yxxwJw0EEH8dRTT/GnP/1prTpHHnkkI0aM4A1veAOP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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_combine_metrics(comb_5bins_log, log_4bins, 'Scores for 5 bins; log; combine bin 0 with other bins')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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n66uLubNm8cdd9yxxjSSJGnDZ4gbqqZJQ6sPUnNzM0uXvvSDFV1dXUyYMGH1D91//etf7zH9K1/5Svbff3+uvvrqdVqvJEmqJkPcUL1xFoxu6lkb3VTU18Hee+/Nvffey6JFi3jhhReYM2cOhx12GPPnz2f+/Pkcf/zxLFu2jD//+c8APPvss/z85z/n9a9//TqtV5IkVVM9vyduw7RjW3F/28ziEGrTpCLAdddfpjFjxnD22Wdz4IEHsmrVKo455himTp3aY5qHHnqIo446ilWrVvHiiy/yoQ99iPe9733rtF5JklRNsbH9wEFra2t2dnb2qN11111MmTJlhFqkkeb+lyQ1qoi4JTNb+xrn4VRJkqQKMsRJkiRVkCFOkiSpggxxkiRJFWSIkyRJqiBDnCRJUgUZ4hrIqlWr2GOPPXp899v+++9P769EAbjiiis4/fTTh7N5dbXFFlv0Wf+Xf/kXfv7zn6+XdfT3XEqSVEWGuJeho6ODlpYWRo0aRUtLCx0dHetluWeeeeagv6/sr//6rznllFPWy3ob2b/+679ywAEHjHQzJElqOIa4Iero6KC9vZ3FixeTmSxevJj29vZ1DnJdXV38+Mc/5rjjjltj3He/+1323Xdfdt11V+bNmwfA+eefz6c+9SkAjj76aD796U+z7777stNOO/G9730PKH7hYb/99mPatGnsuuuu/OpXv1pj2S0tLTzyyCMAdHZ2sv/++wNw6qmncswxx7D//vuz0047cdZZZ62e58ILL2T33XfnjW98I0cccQQAixcvZvr06ey+++5Mnz6dJUuWrG7bCSecwDvf+U522mknfvnLX3LMMccwZcoUjj766B5t+cxnPsOee+7J9OnTWbZs2er5u7enpaWFz3/+8+y5557stttu3H333QA888wzHHPMMey9997sscceXH755UDx02QzZsxg991358Mf/jDPPvvsEPeKJEmNyxA3RDNnzmT58uU9asuXL2fmzJnrtNyTTz6ZL37xi4wateYueeaZZ/jNb37DOeecwzHHHNPn/A899BA33HADV1555eoeuosvvpgDDzyQ+fPnc9tttzFt2rQhtenuu+/mpz/9KfPmzeO0005jxYoV3HnnncyaNYu5c+dy2223ceaZZwLwqU99iiOPPJLbb7+dtrY2Pv3pT69ezuOPP87cuXP52te+xsEHH8zf/d3fceedd7JgwQLmz5+/ehv33HNPbr31Vt7xjndw2mmn9dmmbbfdlltvvZUTTjiBL3/5ywDMmjWLd73rXfz2t7/lF7/4Bf/n//wfnnnmGc4991yampq4/fbbmTlzJrfccsuQtl+SpEZmiBui7h6mwdYH48orr2TChAnstddefY7/yEc+AsB+++3Hk08+yZ///Oc1pjn00EMZNWoUb3jDG3j44YcB2HvvvfnOd77DqaeeyoIFC9hyyy2H1K6/+qu/YtNNN2XbbbdlwoQJPPzww8ydO5fDDz+cbbfdFoCtt94agBtvvJGPfvSjABxxxBHccMMNq5dz8MEHExHstttuvPrVr2a33XZj1KhRTJ06lfvvvx+AUaNG8eEPfxiAj33sYz3mr3XYYYcBsNdee62e92c/+xmnn34606ZNY//99+e5555jyZIlXH/99XzsYx8DYPfdd2f33Xcf0vZLktTIDHFDNGnSpCHVB+PXv/41V1xxBS0tLcyYMYO5c+euDh8AEdFj+t6PATbddNPVw92/h7vffvtx/fXXs8MOO3DEEUdw4YUXrjHfmDFjePHFFwF47rnn+l3m6NGjWblyJZnZ5/p7q52mezmjRo3qscxRo0axcuXKtc7fV5u62wPF9n7/+99n/vz5zJ8/nyVLlqw+t3AwbZUkqYoMcUM0a9YsmpqaetSampqYNWvWy17mF77wBbq6urj//vuZM2cO73rXu/jud7+7evyll14KwA033MC4ceMYN27coJa7ePFiJkyYwCc+8QmOPfZYbr311jWmaWlpWX2Y8fvf//5alzl9+nQuu+wyHn30UQAee+wxAPbdd1/mzJkDFOcNvu1tbxtUG7u9+OKLq899u/jii4c0/4EHHsh//dd/rQ6vv/vd74AixHafq3jHHXdw++23D6lNkiQ1sjEj3YCqaWtrA4pz45YsWcKkSZOYNWvW6no9vOpVr2LfffflySef5Lzzzhv0fNdddx1f+tKXGDt2LFtssUWfPXGf//znOfbYY/mP//gP3vSmN611mVOnTmXmzJm84x3vYPTo0eyxxx6cf/75nHXWWRxzzDF86UtfYvz48XznO98Z0ja+4hWv4M4772SvvfZi3Lhxq4PrYHzuc5/j5JNPZvfddyczaWlp4corr+SEE07g4x//OLvvvjvTpk1jn332GVKbJElqZNHde7GxaG1tzd7f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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_combine_metrics(comb_5bins_random, random_4bins, 'Scores for 5 bins; random; combine bin 0 with other bins')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tomo-conda [conda env:.conda-tomo]", + "language": "python", + "name": "conda-env-.conda-tomo-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/plots/RandomForest_{'bins'_ 2, 'colors'_ True, 'errors'_ False}_riz.png b/plots/RandomForest_{'bins'_ 2, 'colors'_ True, 'errors'_ False}_riz.png new file mode 100644 index 00000000..1d45581e Binary files /dev/null and b/plots/RandomForest_{'bins'_ 2, 'colors'_ True, 'errors'_ False}_riz.png differ diff --git a/plots/RandomForest_{'bins'_ 4, 'colors'_ True, 'errors'_ False}_riz.png b/plots/RandomForest_{'bins'_ 4, 'colors'_ True, 'errors'_ False}_riz.png new file mode 100644 index 00000000..8f24fccf Binary files /dev/null and b/plots/RandomForest_{'bins'_ 4, 'colors'_ True, 'errors'_ False}_riz.png differ diff --git a/plots/RandomForest_{'bins'_ 4, 'colors'_ True, 'errors'_ True}_riz.png b/plots/RandomForest_{'bins'_ 4, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..616e3ffe Binary files /dev/null and b/plots/RandomForest_{'bins'_ 4, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/.DS_Store b/results/.DS_Store new file mode 100644 index 00000000..d5967081 Binary files /dev/null and b/results/.DS_Store differ diff --git a/results/chi/funbins_chi_10bins.txt b/results/chi/funbins_chi_10bins.txt new file mode 100644 index 00000000..fc8c22f4 --- /dev/null +++ b/results/chi/funbins_chi_10bins.txt @@ -0,0 +1 @@ +funbins run_10 {'bins': 10, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 357.3131103515625, 'FOM_ww': 42.954627990722656, 'FOM_DETF_ww': 0.998559296131134, 'SNR_gg': 1558.8424072265625, 'FOM_gg': 3393.94921875, 'FOM_DETF_gg': 28.310165405273438, 'SNR_3x2': 1560.711669921875, 'FOM_3x2': 11873.3955078125, 'FOM_DETF_3x2': 151.22581481933594} diff --git a/results/chi/funbins_chi_12bins.txt b/results/chi/funbins_chi_12bins.txt new file mode 100644 index 00000000..bf7cc1b8 --- /dev/null +++ b/results/chi/funbins_chi_12bins.txt @@ -0,0 +1 @@ +funbins run_12 {'bins': 12, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 357.59197998046875, 'FOM_ww': 43.62521743774414, 'FOM_DETF_ww': 1.0060865879058838, 'SNR_gg': 1667.6494140625, 'FOM_gg': 3912.66796875, 'FOM_DETF_gg': 32.30958557128906, 'SNR_3x2': 1669.431396484375, 'FOM_3x2': 13472.0498046875, 'FOM_DETF_3x2': 162.13380432128906} diff --git a/results/chi/funbins_chi_14bins.txt b/results/chi/funbins_chi_14bins.txt new file mode 100644 index 00000000..97cfcada --- /dev/null +++ b/results/chi/funbins_chi_14bins.txt @@ -0,0 +1 @@ +funbins run_14 {'bins': 14, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 357.6208801269531, 'FOM_ww': 44.28642654418945, 'FOM_DETF_ww': 1.013672113418579, 'SNR_gg': 1766.71826171875, 'FOM_gg': 4394.3798828125, 'FOM_DETF_gg': 36.23318862915039, 'SNR_3x2': 1768.39990234375, 'FOM_3x2': 14904.86328125, 'FOM_DETF_3x2': 171.53282165527344} diff --git a/results/chi/funbins_chi_16bins.txt b/results/chi/funbins_chi_16bins.txt new file mode 100644 index 00000000..15a49029 --- /dev/null +++ b/results/chi/funbins_chi_16bins.txt @@ -0,0 +1 @@ +funbins run_16 {'bins': 16, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 357.7373962402344, 'FOM_ww': 44.8723258972168, 'FOM_DETF_ww': 1.0189826488494873, 'SNR_gg': 1846.935546875, 'FOM_gg': 4927.30517578125, 'FOM_DETF_gg': 39.980995178222656, 'SNR_3x2': 1848.527099609375, 'FOM_3x2': 16619.26953125, 'FOM_DETF_3x2': 179.15760803222656} diff --git a/results/chi/funbins_chi_18bins.txt b/results/chi/funbins_chi_18bins.txt new file mode 100644 index 00000000..61d0c613 --- /dev/null +++ b/results/chi/funbins_chi_18bins.txt @@ -0,0 +1 @@ +funbins run_18 {'bins': 18, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 357.7864685058594, 'FOM_ww': 45.14503860473633, 'FOM_DETF_ww': 1.02281653881073, 'SNR_gg': 1935.201171875, 'FOM_gg': 5388.544921875, 'FOM_DETF_gg': 43.69058609008789, 'SNR_3x2': 1936.7386474609375, 'FOM_3x2': 17930.822265625, 'FOM_DETF_3x2': 187.78726196289062} diff --git a/results/chi/funbins_chi_20bins.txt b/results/chi/funbins_chi_20bins.txt new file mode 100644 index 00000000..b2f49922 --- /dev/null +++ b/results/chi/funbins_chi_20bins.txt @@ -0,0 +1 @@ +funbins run_20 {'bins': 20, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 357.82049560546875, 'FOM_ww': 45.32192611694336, 'FOM_DETF_ww': 1.0239624977111816, 'SNR_gg': 1993.5626220703125, 'FOM_gg': 5813.80712890625, 'FOM_DETF_gg': 46.539649963378906, 'SNR_3x2': 1995.0289306640625, 'FOM_3x2': 19282.109375, 'FOM_DETF_3x2': 193.2664337158203} diff --git a/results/chi/funbins_chi_2bins.txt b/results/chi/funbins_chi_2bins.txt new file mode 100644 index 00000000..3ea64451 --- /dev/null +++ b/results/chi/funbins_chi_2bins.txt @@ -0,0 +1 @@ +funbins run_2 {'bins': 2, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 346.5560302734375, 'FOM_ww': 9.114718437194824, 'FOM_DETF_ww': 0.2503356337547302, 'SNR_gg': 883.410888671875, 'FOM_gg': 39.0669059753418, 'FOM_DETF_gg': 0.4050174355506897, 'SNR_3x2': 896.4786376953125, 'FOM_3x2': 843.8729248046875, 'FOM_DETF_3x2': 24.316349029541016} diff --git a/results/chi/funbins_chi_4bins.txt b/results/chi/funbins_chi_4bins.txt new file mode 100644 index 00000000..d7083be2 --- /dev/null +++ b/results/chi/funbins_chi_4bins.txt @@ -0,0 +1 @@ +funbins run_4 {'bins': 4, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 354.8981628417969, 'FOM_ww': 32.0916748046875, 'FOM_DETF_ww': 0.8403875231742859, 'SNR_gg': 1135.8251953125, 'FOM_gg': 856.9429931640625, 'FOM_DETF_gg': 8.652419090270996, 'SNR_3x2': 1138.489013671875, 'FOM_3x2': 2470.149169921875, 'FOM_DETF_3x2': 52.71646499633789} diff --git a/results/chi/funbins_chi_6bins.txt b/results/chi/funbins_chi_6bins.txt new file mode 100644 index 00000000..ec45d348 --- /dev/null +++ b/results/chi/funbins_chi_6bins.txt @@ -0,0 +1 @@ +funbins run_6 {'bins': 6, 'seed': 123, 'method': 'chi', 'combinebins': None, 'colors': True, 'errors': True} {'SNR_ww': 355.50146484375, 'FOM_ww': 37.755615234375, 'FOM_DETF_ww': 0.926099956035614, 'SNR_gg': 1291.5467529296875, 'FOM_gg': 1620.9384765625, 'FOM_DETF_gg': 15.487205505371094, 'SNR_3x2': 1293.889404296875, 'FOM_3x2': 5691.78515625, 'FOM_DETF_3x2': 107.30359649658203} diff --git a/results/chi/funbins_{'bins'_ 10, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 10, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..97dbb0ec Binary files /dev/null and b/results/chi/funbins_{'bins'_ 10, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 12, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 12, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..c66f1a01 Binary files /dev/null and b/results/chi/funbins_{'bins'_ 12, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 14, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 14, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..bbd8b7c3 Binary files /dev/null and b/results/chi/funbins_{'bins'_ 14, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 16, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 16, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..eb175b9e Binary files /dev/null and b/results/chi/funbins_{'bins'_ 16, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 18, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 18, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..b2b2862a Binary files /dev/null and b/results/chi/funbins_{'bins'_ 18, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 2, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 2, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..dd923ff6 Binary files /dev/null and b/results/chi/funbins_{'bins'_ 2, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 20, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 20, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..df5d49fb Binary files /dev/null and b/results/chi/funbins_{'bins'_ 20, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 4, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 4, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..fe400675 Binary files /dev/null and b/results/chi/funbins_{'bins'_ 4, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 6, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 6, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..96ac4479 Binary files /dev/null and b/results/chi/funbins_{'bins'_ 6, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/chi/funbins_{'bins'_ 8, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png b/results/chi/funbins_{'bins'_ 8, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..f48d965a Binary files /dev/null and b/results/chi/funbins_{'bins'_ 8, 'seed'_ 123, 'method'_ 'chi', 'combinebins'_ None, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/comb_bins/.DS_Store b/results/comb_bins/.DS_Store new file mode 100644 index 00000000..5f380f03 Binary files /dev/null and b/results/comb_bins/.DS_Store differ diff --git a/results/comb_bins/log/.DS_Store b/results/comb_bins/log/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/results/comb_bins/log/.DS_Store differ diff --git a/results/comb_bins/log/RF_Log_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 1].png b/results/comb_bins/log/RF_Log_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 1].png new file mode 100644 index 00000000..2b2dc881 Binary files /dev/null and b/results/comb_bins/log/RF_Log_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 1].png differ diff --git a/results/comb_bins/log/RF_Log_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 2].png b/results/comb_bins/log/RF_Log_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 2].png new file mode 100644 index 00000000..7066c9c5 Binary files /dev/null and b/results/comb_bins/log/RF_Log_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 2].png differ diff --git a/results/comb_bins/log/RF_Log_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 3].png b/results/comb_bins/log/RF_Log_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 3].png new file mode 100644 index 00000000..c6bbaaac Binary files /dev/null and b/results/comb_bins/log/RF_Log_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 3].png differ diff --git a/results/comb_bins/log/riz_rf_log_5bins0_1.txt b/results/comb_bins/log/riz_rf_log_5bins0_1.txt new file mode 100644 index 00000000..82dda41f --- /dev/null +++ b/results/comb_bins/log/riz_rf_log_5bins0_1.txt @@ -0,0 +1 @@ +RF_Log_CombineBins run_5 {'bins': 5, 'colors': True, 'errors': True} {'SNR_ww': 347.1550052435396, 'FOM_ww': 43.281384668444375, 'SNR_gg': 1178.1020177366966, 'FOM_gg': 1937.6331074516759, 'SNR_3x2': 1180.154312947983, 'FOM_3x2': 8170.834082030528} diff --git a/results/comb_bins/log/riz_rf_log_5bins0_2.txt b/results/comb_bins/log/riz_rf_log_5bins0_2.txt new file mode 100644 index 00000000..44def0c0 --- /dev/null +++ b/results/comb_bins/log/riz_rf_log_5bins0_2.txt @@ -0,0 +1 @@ +RF_Log_CombineBins run_5 {'bins': 5, 'colors': True, 'errors': True} {'SNR_ww': 347.11524596040493, 'FOM_ww': 12.496906081438635, 'SNR_gg': 1130.6537186403334, 'FOM_gg': 1725.6973362282138, 'SNR_3x2': 1132.7475032766674, 'FOM_3x2': 4340.897488251889} diff --git a/results/comb_bins/log/riz_rf_log_5bins0_3.txt b/results/comb_bins/log/riz_rf_log_5bins0_3.txt new file mode 100644 index 00000000..65fe966e --- /dev/null +++ b/results/comb_bins/log/riz_rf_log_5bins0_3.txt @@ -0,0 +1 @@ +RF_Log_CombineBins run_5 {'bins': 5, 'colors': True, 'errors': True} {'SNR_ww': 346.29772734556116, 'FOM_ww': 20.391566310838982, 'SNR_gg': 1132.9429122353106, 'FOM_gg': 1108.2282006433647, 'SNR_3x2': 1135.5513182455525, 'FOM_3x2': 3247.449479310309} diff --git a/results/comb_bins/random/.DS_Store b/results/comb_bins/random/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/results/comb_bins/random/.DS_Store differ diff --git a/results/comb_bins/random/RF_Uniform_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 2].png b/results/comb_bins/random/RF_Uniform_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 2].png new file mode 100644 index 00000000..1a22d2b7 Binary files /dev/null and b/results/comb_bins/random/RF_Uniform_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 2].png differ diff --git a/results/comb_bins/random/RF_Uniform_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 3].png b/results/comb_bins/random/RF_Uniform_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 3].png new file mode 100644 index 00000000..3dfa4636 Binary files /dev/null and b/results/comb_bins/random/RF_Uniform_CombineBins_{'bins': 5, 'colors': True, 'errors': True}_riz_[0, 3].png differ diff --git a/results/comb_bins/random/RF_Uniform_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 1].png b/results/comb_bins/random/RF_Uniform_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 1].png new file mode 100644 index 00000000..4416c324 Binary files /dev/null and b/results/comb_bins/random/RF_Uniform_CombineBins_{'bins'_ 5, 'colors'_ True, 'errors'_ True}_riz_[0, 1].png differ diff --git a/results/comb_bins/random/riz_rf_u_5bins0_1.txt b/results/comb_bins/random/riz_rf_u_5bins0_1.txt new file mode 100644 index 00000000..64ff2957 --- /dev/null +++ b/results/comb_bins/random/riz_rf_u_5bins0_1.txt @@ -0,0 +1 @@ +RF_Uniform_CombineBins run_5 {'bins': 5, 'colors': True, 'errors': True} {'SNR_ww': 350.62629992935354, 'FOM_ww': 69.62333557208532, 'SNR_gg': 961.3423758223748, 'FOM_gg': 998.7919662764982, 'SNR_3x2': 970.9692811096805, 'FOM_3x2': 2878.907835879231} diff --git a/results/comb_bins/random/riz_rf_u_5bins0_2.txt b/results/comb_bins/random/riz_rf_u_5bins0_2.txt new file mode 100644 index 00000000..8272b6cd --- /dev/null +++ b/results/comb_bins/random/riz_rf_u_5bins0_2.txt @@ -0,0 +1 @@ +RF_Uniform_CombineBins run_5 {'bins': 5, 'colors': True, 'errors': True} {'SNR_ww': 332.91946164294785, 'FOM_ww': 1573.8141960234443, 'SNR_gg': 969.7202847355114, 'FOM_gg': 3157.055747538249, 'SNR_3x2': 984.1608880916402, 'FOM_3x2': 28180.732187357935} diff --git a/results/comb_bins/random/riz_rf_u_5bins0_3.txt b/results/comb_bins/random/riz_rf_u_5bins0_3.txt new file mode 100644 index 00000000..235c0384 --- /dev/null +++ b/results/comb_bins/random/riz_rf_u_5bins0_3.txt @@ -0,0 +1 @@ +RF_Uniform_CombineBins run_5 {'bins': 5, 'colors': True, 'errors': True} {'SNR_ww': 344.4664127650933, 'FOM_ww': 707.9343834362847, 'SNR_gg': 1111.5530740704078, 'FOM_gg': 1722.9278602544168, 'SNR_3x2': 1115.220976362594, 'FOM_3x2': 36901.359762732245} diff --git a/results/log/.DS_Store b/results/log/.DS_Store new file mode 100644 index 00000000..8431f7d6 Binary files /dev/null and b/results/log/.DS_Store differ diff --git a/results/log/firecrown/.DS_Store b/results/log/firecrown/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/results/log/firecrown/.DS_Store differ diff --git a/results/log/firecrown/RandomForest_log_{'bins': 10, 'colors': True, 'errors': True}_riz.png b/results/log/firecrown/RandomForest_log_{'bins': 10, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..a8fcbd33 Binary files /dev/null and b/results/log/firecrown/RandomForest_log_{'bins': 10, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/firecrown/RandomForest_log_{'bins': 2, 'colors': True, 'errors': True}_riz.png b/results/log/firecrown/RandomForest_log_{'bins': 2, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..efaa2ee0 Binary files /dev/null and b/results/log/firecrown/RandomForest_log_{'bins': 2, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/firecrown/RandomForest_log_{'bins': 4, 'colors': True, 'errors': True}_riz.png b/results/log/firecrown/RandomForest_log_{'bins': 4, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..110e5d8d Binary files /dev/null and b/results/log/firecrown/RandomForest_log_{'bins': 4, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/firecrown/RandomForest_log_{'bins': 6, 'colors': True, 'errors': True}_riz.png b/results/log/firecrown/RandomForest_log_{'bins': 6, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..111f41c2 Binary files /dev/null and b/results/log/firecrown/RandomForest_log_{'bins': 6, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/firecrown/RandomForest_log_{'bins': 8, 'colors': True, 'errors': True}_riz.png b/results/log/firecrown/RandomForest_log_{'bins': 8, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..f06e0e77 Binary files /dev/null and b/results/log/firecrown/RandomForest_log_{'bins': 8, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/firecrown/riz_10bins.txt b/results/log/firecrown/riz_10bins.txt new file mode 100644 index 00000000..41323916 --- /dev/null +++ b/results/log/firecrown/riz_10bins.txt @@ -0,0 +1 @@ +RandomForest_log run_10 {'bins': 10, 'colors': True, 'errors': True} {'SNR_ww': 353.9796471119985, 'FOM_ww': 26.366472753947036, 'SNR_gg': 1500.0369417052223, 'FOM_gg': 181648.05441643775, 'SNR_3x2': 1501.7979111080479, 'FOM_3x2': 205723.43115529948} diff --git a/results/log/firecrown/riz_2bins.txt b/results/log/firecrown/riz_2bins.txt new file mode 100644 index 00000000..ee010203 --- /dev/null +++ b/results/log/firecrown/riz_2bins.txt @@ -0,0 +1 @@ +RandomForest_log run_2 {'bins': 2, 'colors': True, 'errors': True} {'SNR_ww': 332.1252628616624, 'FOM_ww': 14.983596087283678, 'SNR_gg': 879.7755517457832, 'FOM_gg': 6800.843125725617, 'SNR_3x2': 885.1510794851065, 'FOM_3x2': 69314.82169237411} diff --git a/results/log/firecrown/riz_4bins.txt b/results/log/firecrown/riz_4bins.txt new file mode 100644 index 00000000..cd89a196 --- /dev/null +++ b/results/log/firecrown/riz_4bins.txt @@ -0,0 +1 @@ +RandomForest_log run_4 {'bins': 4, 'colors': True, 'errors': True} {'SNR_ww': 344.3523864717793, 'FOM_ww': 7.472714237157305, 'SNR_gg': 1129.9924402851957, 'FOM_gg': 2217.7143967350557, 'SNR_3x2': 1132.3499261021177, 'FOM_3x2': 17438.170598255823} diff --git a/results/log/firecrown/riz_6bins.txt b/results/log/firecrown/riz_6bins.txt new file mode 100644 index 00000000..2be35ef9 --- /dev/null +++ b/results/log/firecrown/riz_6bins.txt @@ -0,0 +1 @@ +RandomForest_log run_6 {'bins': 6, 'colors': True, 'errors': True} {'SNR_ww': 349.54961947303974, 'FOM_ww': 74.88239992499268, 'SNR_gg': 1283.0924805979128, 'FOM_gg': 2748.246880322987, 'SNR_3x2': 1285.0762826516666, 'FOM_3x2': 25527.319489134214} diff --git a/results/log/firecrown/riz_8bins.txt b/results/log/firecrown/riz_8bins.txt new file mode 100644 index 00000000..7871e4f7 --- /dev/null +++ b/results/log/firecrown/riz_8bins.txt @@ -0,0 +1 @@ +RandomForest_log run_8 {'bins': 8, 'colors': True, 'errors': True} {'SNR_ww': 352.1677239587554, 'FOM_ww': 46.08137841821119, 'SNR_gg': 1407.4491566491292, 'FOM_gg': 11509.47849600147, 'SNR_3x2': 1409.2785646359137, 'FOM_3x2': 76079.64260621843} diff --git a/results/log/jax/.DS_Store b/results/log/jax/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/results/log/jax/.DS_Store differ diff --git a/results/log/jax/RandomForest_log_{'bins': 2, 'colors': True, 'errors': True}_riz.png b/results/log/jax/RandomForest_log_{'bins': 2, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..52d907b6 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins': 2, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins': 4, 'colors': True, 'errors': True}_riz.png b/results/log/jax/RandomForest_log_{'bins': 4, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..cea9d465 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins': 4, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins': 6, 'colors': True, 'errors': True}_riz.png b/results/log/jax/RandomForest_log_{'bins': 6, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..7fa5a4d6 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins': 6, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins': 8, 'colors': True, 'errors': True}_riz.png b/results/log/jax/RandomForest_log_{'bins': 8, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..a0111d73 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins': 8, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins'_ 10, 'colors'_ True, 'errors'_ True}_riz.png b/results/log/jax/RandomForest_log_{'bins'_ 10, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..ba95bcf1 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins'_ 10, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins'_ 12, 'colors'_ True, 'errors'_ True}_riz.png b/results/log/jax/RandomForest_log_{'bins'_ 12, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..77f398dc Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins'_ 12, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins'_ 14, 'colors'_ True, 'errors'_ True}_riz.png b/results/log/jax/RandomForest_log_{'bins'_ 14, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..44ededaf Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins'_ 14, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins'_ 16, 'colors'_ True, 'errors'_ True}_riz.png b/results/log/jax/RandomForest_log_{'bins'_ 16, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..54bd7f70 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins'_ 16, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins'_ 18, 'colors'_ True, 'errors'_ True}_riz.png b/results/log/jax/RandomForest_log_{'bins'_ 18, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..48f9d819 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins'_ 18, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/log/jax/RandomForest_log_{'bins'_ 20, 'colors'_ True, 'errors'_ True}_riz.png b/results/log/jax/RandomForest_log_{'bins'_ 20, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..3f7f4629 Binary files /dev/null and b/results/log/jax/RandomForest_log_{'bins'_ 20, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/log/jax/log_10bins.txt b/results/log/jax/log_10bins.txt new file mode 100644 index 00000000..c2ddca9e --- /dev/null +++ b/results/log/jax/log_10bins.txt @@ -0,0 +1 @@ +RandomForest_log run_10 {'bins': 10, 'colors': True, 'errors': True} {'SNR_ww': 353.3896484375, 'FOM_ww': 25.69645118713379, 'FOM_DETF_ww': 0.7485368847846985, 'SNR_gg': 1490.1297607421875, 'FOM_gg': 1509.4334716796875, 'FOM_DETF_gg': 16.625934600830078, 'SNR_3x2': 1491.8892822265625, 'FOM_3x2': 4315.92431640625, 'FOM_DETF_3x2': 124.80682373046875} diff --git a/results/log/jax/log_12bins.txt b/results/log/jax/log_12bins.txt new file mode 100644 index 00000000..df56bd6f --- /dev/null +++ b/results/log/jax/log_12bins.txt @@ -0,0 +1 @@ +RandomForest_log run_12 {'bins': 12, 'colors': True, 'errors': True} {'SNR_ww': 353.4909362792969, 'FOM_ww': 28.18546485900879, 'FOM_DETF_ww': 0.7837417125701904, 'SNR_gg': 1581.24755859375, 'FOM_gg': 1861.4588623046875, 'FOM_DETF_gg': 19.349151611328125, 'SNR_3x2': 1582.9195556640625, 'FOM_3x2': 5589.23876953125, 'FOM_DETF_3x2': 133.16567993164062} diff --git a/results/log/jax/log_14bins.txt b/results/log/jax/log_14bins.txt new file mode 100644 index 00000000..d3417ef7 --- /dev/null +++ b/results/log/jax/log_14bins.txt @@ -0,0 +1 @@ +RandomForest_log run_14 {'bins': 14, 'colors': True, 'errors': True} {'SNR_ww': 353.81439208984375, 'FOM_ww': 30.821815490722656, 'FOM_DETF_ww': 0.8196653723716736, 'SNR_gg': 1660.472412109375, 'FOM_gg': 2167.390869140625, 'FOM_DETF_gg': 21.795621871948242, 'SNR_3x2': 1662.0672607421875, 'FOM_3x2': 6755.2568359375, 'FOM_DETF_3x2': 140.04119873046875} diff --git a/results/log/jax/log_16bins.txt b/results/log/jax/log_16bins.txt new file mode 100644 index 00000000..caf3a896 --- /dev/null +++ b/results/log/jax/log_16bins.txt @@ -0,0 +1 @@ +RandomForest_log run_16 {'bins': 16, 'colors': True, 'errors': True} {'SNR_ww': 354.19085693359375, 'FOM_ww': 33.06575393676758, 'FOM_DETF_ww': 0.850592851638794, 'SNR_gg': 1714.0537109375, 'FOM_gg': 2405.90869140625, 'FOM_DETF_gg': 23.72943687438965, 'SNR_3x2': 1715.613037109375, 'FOM_3x2': 7705.8701171875, 'FOM_DETF_3x2': 145.46725463867188} diff --git a/results/log/jax/log_18bins.txt b/results/log/jax/log_18bins.txt new file mode 100644 index 00000000..23654f13 --- /dev/null +++ b/results/log/jax/log_18bins.txt @@ -0,0 +1 @@ +RandomForest_log run_18 {'bins': 18, 'colors': True, 'errors': True} {'SNR_ww': 354.6062927246094, 'FOM_ww': 34.78291320800781, 'FOM_DETF_ww': 0.8756899833679199, 'SNR_gg': 1767.1658935546875, 'FOM_gg': 2667.28662109375, 'FOM_DETF_gg': 25.922611236572266, 'SNR_3x2': 1768.700439453125, 'FOM_3x2': 8578.8291015625, 'FOM_DETF_3x2': 151.23822021484375} diff --git a/results/log/jax/log_20bins.txt b/results/log/jax/log_20bins.txt new file mode 100644 index 00000000..6b4d2f96 --- /dev/null +++ b/results/log/jax/log_20bins.txt @@ -0,0 +1 @@ +RandomForest_log run_20 {'bins': 20, 'colors': True, 'errors': True} {'SNR_ww': 354.8816833496094, 'FOM_ww': 36.55479049682617, 'FOM_DETF_ww': 0.8987427949905396, 'SNR_gg': 1821.4979248046875, 'FOM_gg': 2915.06396484375, 'FOM_DETF_gg': 27.992963790893555, 'SNR_3x2': 1823.001220703125, 'FOM_3x2': 9485.4541015625, 'FOM_DETF_3x2': 156.7353973388672} diff --git a/results/log/jax/log_2bins.txt b/results/log/jax/log_2bins.txt new file mode 100644 index 00000000..db748bf5 --- /dev/null +++ b/results/log/jax/log_2bins.txt @@ -0,0 +1 @@ +RandomForest_log run_2 {'bins': 2, 'colors': True, 'errors': True} {'SNR_ww': 331.62371826171875, 'FOM_ww': 0.4617920517921448, 'FOM_DETF_ww': 0.013744479045271873, 'SNR_gg': 878.622314453125, 'FOM_gg': 53.327491760253906, 'FOM_DETF_gg': 0.786997377872467, 'SNR_3x2': 883.9085693359375, 'FOM_3x2': 255.66043090820312, 'FOM_DETF_3x2': 23.005399703979492} diff --git a/results/log/jax/log_4bins.txt b/results/log/jax/log_4bins.txt new file mode 100644 index 00000000..193387e6 --- /dev/null +++ b/results/log/jax/log_4bins.txt @@ -0,0 +1 @@ +RandomForest_log run_4 {'bins': 4, 'colors': True, 'errors': True} {'SNR_ww': 343.78753662109375, 'FOM_ww': 2.5369784832000732, 'FOM_DETF_ww': 0.18284554779529572, 'SNR_gg': 1126.6553955078125, 'FOM_gg': 460.51934814453125, 'FOM_DETF_gg': 7.035050868988037, 'SNR_3x2': 1128.9976806640625, 'FOM_3x2': 1246.9041748046875, 'FOM_DETF_3x2': 83.07261657714844} diff --git a/results/log/jax/log_6bins.txt b/results/log/jax/log_6bins.txt new file mode 100644 index 00000000..3ab0e0a0 --- /dev/null +++ b/results/log/jax/log_6bins.txt @@ -0,0 +1 @@ +RandomForest_log run_6 {'bins': 6, 'colors': True, 'errors': True} {'SNR_ww': 348.9933776855469, 'FOM_ww': 12.718839645385742, 'FOM_DETF_ww': 0.5421679019927979, 'SNR_gg': 1277.877685546875, 'FOM_gg': 823.6866455078125, 'FOM_DETF_gg': 11.198760986328125, 'SNR_3x2': 1279.864990234375, 'FOM_3x2': 2050.5126953125, 'FOM_DETF_3x2': 102.53814697265625} diff --git a/results/log/jax/log_8bins.txt b/results/log/jax/log_8bins.txt new file mode 100644 index 00000000..451fea14 --- /dev/null +++ b/results/log/jax/log_8bins.txt @@ -0,0 +1 @@ +RandomForest_log run_8 {'bins': 8, 'colors': True, 'errors': True} {'SNR_ww': 351.5631408691406, 'FOM_ww': 20.807268142700195, 'FOM_DETF_ww': 0.6687530279159546, 'SNR_gg': 1400.4603271484375, 'FOM_gg': 1209.8232421875, 'FOM_DETF_gg': 14.164243698120117, 'SNR_3x2': 1402.2911376953125, 'FOM_3x2': 3289.179931640625, 'FOM_DETF_3x2': 114.87232208251953} diff --git a/results/random/.DS_Store b/results/random/.DS_Store new file mode 100644 index 00000000..2be38fec Binary files /dev/null and b/results/random/.DS_Store differ diff --git a/results/random/firecrown/.DS_Store b/results/random/firecrown/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/results/random/firecrown/.DS_Store differ diff --git a/results/random/firecrown/RandomForestUniform_{'bins': 10, 'colors': True, 'errors': True}_riz.png b/results/random/firecrown/RandomForestUniform_{'bins': 10, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..07632d34 Binary files /dev/null and b/results/random/firecrown/RandomForestUniform_{'bins': 10, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/firecrown/RandomForestUniform_{'bins': 2, 'colors': True, 'errors': True}_riz.png b/results/random/firecrown/RandomForestUniform_{'bins': 2, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..78f9e338 Binary files /dev/null and b/results/random/firecrown/RandomForestUniform_{'bins': 2, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/firecrown/RandomForestUniform_{'bins': 4, 'colors': True, 'errors': True}_riz.png b/results/random/firecrown/RandomForestUniform_{'bins': 4, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..9a7fe921 Binary files /dev/null and b/results/random/firecrown/RandomForestUniform_{'bins': 4, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/firecrown/RandomForestUniform_{'bins': 6, 'colors': True, 'errors': True}_riz.png b/results/random/firecrown/RandomForestUniform_{'bins': 6, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..d14cfb1f Binary files /dev/null and b/results/random/firecrown/RandomForestUniform_{'bins': 6, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/firecrown/RandomForestUniform_{'bins': 8, 'colors': True, 'errors': True}_riz.png b/results/random/firecrown/RandomForestUniform_{'bins': 8, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..b85aa41d Binary files /dev/null and b/results/random/firecrown/RandomForestUniform_{'bins': 8, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/firecrown/riz_10bins.txt b/results/random/firecrown/riz_10bins.txt new file mode 100644 index 00000000..914bd7cb --- /dev/null +++ b/results/random/firecrown/riz_10bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_10 {'bins': 10, 'colors': True, 'errors': True} {'SNR_ww': 354.9197295938117, 'FOM_ww': 152.37715773462213, 'SNR_gg': 1308.84532609303, 'FOM_gg': 21171.68195209693, 'SNR_3x2': 1311.9719252996663, 'FOM_3x2': 47065.21003389874} diff --git a/results/random/firecrown/riz_2bins.txt b/results/random/firecrown/riz_2bins.txt new file mode 100644 index 00000000..d840ddca --- /dev/null +++ b/results/random/firecrown/riz_2bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_2 {'bins': 2, 'colors': True, 'errors': True} {'SNR_ww': 327.4681067505708, 'FOM_ww': 105.1466965449306, 'SNR_gg': 678.5458935974033, 'FOM_gg': 908.8160809482351, 'SNR_3x2': 701.5622646511446, 'FOM_3x2': 4534.786413137936} diff --git a/results/random/firecrown/riz_4bins.txt b/results/random/firecrown/riz_4bins.txt new file mode 100644 index 00000000..152c09dc --- /dev/null +++ b/results/random/firecrown/riz_4bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_4 {'bins': 4, 'colors': True, 'errors': True} {'SNR_ww': 351.79965915406984, 'FOM_ww': 55.91220189211659, 'SNR_gg': 1109.8455489042597, 'FOM_gg': 1629.7915293979788, 'SNR_3x2': 1113.3628584854432, 'FOM_3x2': 5025.4907299214065} diff --git a/results/random/firecrown/riz_6bins.txt b/results/random/firecrown/riz_6bins.txt new file mode 100644 index 00000000..3aba50ff --- /dev/null +++ b/results/random/firecrown/riz_6bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_6 {'bins': 6, 'colors': True, 'errors': True} {'SNR_ww': 353.4995684607554, 'FOM_ww': 148.5449428914542, 'SNR_gg': 1155.0212895482066, 'FOM_gg': 2450.1410700563783, 'SNR_3x2': 1158.502391443923, 'FOM_3x2': 13404.867225041602} diff --git a/results/random/firecrown/riz_8bins.txt b/results/random/firecrown/riz_8bins.txt new file mode 100644 index 00000000..5446933e --- /dev/null +++ b/results/random/firecrown/riz_8bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_8 {'bins': 8, 'colors': True, 'errors': True} {'SNR_ww': 354.9124627287553, 'FOM_ww': 46.28382955361007, 'SNR_gg': 1250.552493913522, 'FOM_gg': 2881.0801502048794, 'SNR_3x2': 1253.8090733033507, 'FOM_3x2': 21691.232888150553} diff --git a/results/random/jax/.DS_Store b/results/random/jax/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/results/random/jax/.DS_Store differ diff --git a/results/random/jax/RandomForestUniform_{'bins': 10, 'colors': True, 'errors': True}_riz.png b/results/random/jax/RandomForestUniform_{'bins': 10, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..95f821b5 Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins': 10, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins': 2, 'colors': True, 'errors': True}_riz.png b/results/random/jax/RandomForestUniform_{'bins': 2, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..bf54e6db Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins': 2, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins': 4, 'colors': True, 'errors': True}_riz.png b/results/random/jax/RandomForestUniform_{'bins': 4, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..a3730701 Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins': 4, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins': 6, 'colors': True, 'errors': True}_riz.png b/results/random/jax/RandomForestUniform_{'bins': 6, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..da2695cc Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins': 6, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins': 8, 'colors': True, 'errors': True}_riz.png b/results/random/jax/RandomForestUniform_{'bins': 8, 'colors': True, 'errors': True}_riz.png new file mode 100644 index 00000000..2fcbfe3c Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins': 8, 'colors': True, 'errors': True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins'_ 12, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png b/results/random/jax/RandomForestUniform_{'bins'_ 12, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..058a3342 Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins'_ 12, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins'_ 14, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png b/results/random/jax/RandomForestUniform_{'bins'_ 14, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..d7e64169 Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins'_ 14, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins'_ 16, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png b/results/random/jax/RandomForestUniform_{'bins'_ 16, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..ea1bd692 Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins'_ 16, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins'_ 18, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png b/results/random/jax/RandomForestUniform_{'bins'_ 18, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..cb67fdad Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins'_ 18, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/random/jax/RandomForestUniform_{'bins'_ 20, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png b/results/random/jax/RandomForestUniform_{'bins'_ 20, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png new file mode 100644 index 00000000..0272faa0 Binary files /dev/null and b/results/random/jax/RandomForestUniform_{'bins'_ 20, 'seed'_ 123, 'colors'_ True, 'errors'_ True}_riz.png differ diff --git a/results/random/jax/u_10bins.txt b/results/random/jax/u_10bins.txt new file mode 100644 index 00000000..d02d3789 --- /dev/null +++ b/results/random/jax/u_10bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_10 {'bins': 10, 'colors': True, 'errors': True} {'SNR_ww': 354.3929748535156, 'FOM_ww': 37.14365768432617, 'FOM_DETF_ww': 0.8497052192687988, 'SNR_gg': 1302.3973388671875, 'FOM_gg': 1204.456298828125, 'FOM_DETF_gg': 9.355816841125488, 'SNR_3x2': 1305.5096435546875, 'FOM_3x2': 5697.7705078125, 'FOM_DETF_3x2': 57.619598388671875} diff --git a/results/random/jax/u_12bins.txt b/results/random/jax/u_12bins.txt new file mode 100644 index 00000000..a98b79e0 --- /dev/null +++ b/results/random/jax/u_12bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_12 {'bins': 12, 'seed': 123, 'colors': True, 'errors': True} {'SNR_ww': 355.24688720703125, 'FOM_ww': 39.76428985595703, 'FOM_DETF_ww': 0.8731409311294556, 'SNR_gg': 1518.59033203125, 'FOM_gg': 1509.64501953125, 'FOM_DETF_gg': 11.755865097045898, 'SNR_3x2': 1521.27490234375, 'FOM_3x2': 7064.39501953125, 'FOM_DETF_3x2': 62.7745246887207} diff --git a/results/random/jax/u_14bins.txt b/results/random/jax/u_14bins.txt new file mode 100644 index 00000000..a4584be3 --- /dev/null +++ b/results/random/jax/u_14bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_14 {'bins': 14, 'seed': 123, 'colors': True, 'errors': True} {'SNR_ww': 355.1941223144531, 'FOM_ww': 39.79475402832031, 'FOM_DETF_ww': 0.8728305697441101, 'SNR_gg': 1584.9996337890625, 'FOM_gg': 1644.683349609375, 'FOM_DETF_gg': 12.5249605178833, 'SNR_3x2': 1587.56787109375, 'FOM_3x2': 7788.44873046875, 'FOM_DETF_3x2': 64.36880493164062} diff --git a/results/random/jax/u_16bins.txt b/results/random/jax/u_16bins.txt new file mode 100644 index 00000000..fc262626 --- /dev/null +++ b/results/random/jax/u_16bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_16 {'bins': 16, 'seed': 123, 'colors': True, 'errors': True} {'SNR_ww': 355.55487060546875, 'FOM_ww': 39.971771240234375, 'FOM_DETF_ww': 0.8794472813606262, 'SNR_gg': 1690.378173828125, 'FOM_gg': 3778.079345703125, 'FOM_DETF_gg': 27.599533081054688, 'SNR_3x2': 1692.511474609375, 'FOM_3x2': 17064.439453125, 'FOM_DETF_3x2': 134.9441680908203} diff --git a/results/random/jax/u_18bins.txt b/results/random/jax/u_18bins.txt new file mode 100644 index 00000000..fa1d34be --- /dev/null +++ b/results/random/jax/u_18bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_18 {'bins': 18, 'seed': 123, 'colors': True, 'errors': True} {'SNR_ww': 357.0149841308594, 'FOM_ww': 43.642425537109375, 'FOM_DETF_ww': 0.9857875108718872, 'SNR_gg': 1796.6209716796875, 'FOM_gg': 4112.5537109375, 'FOM_DETF_gg': 31.20852279663086, 'SNR_3x2': 1798.3226318359375, 'FOM_3x2': 17760.564453125, 'FOM_DETF_3x2': 152.83560180664062} diff --git a/results/random/jax/u_20bins.txt b/results/random/jax/u_20bins.txt new file mode 100644 index 00000000..b06125b6 --- /dev/null +++ b/results/random/jax/u_20bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_20 {'bins': 20, 'seed': 123, 'colors': True, 'errors': True} {'SNR_ww': 357.0483093261719, 'FOM_ww': 43.82171630859375, 'FOM_DETF_ww': 0.9936894178390503, 'SNR_gg': 1842.779052734375, 'FOM_gg': 4300.279296875, 'FOM_DETF_gg': 32.844966888427734, 'SNR_3x2': 1844.4127197265625, 'FOM_3x2': 18573.9375, 'FOM_DETF_3x2': 160.4752197265625} diff --git a/results/random/jax/u_2bins.txt b/results/random/jax/u_2bins.txt new file mode 100644 index 00000000..485b36a3 --- /dev/null +++ b/results/random/jax/u_2bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_2 {'bins': 2, 'colors': True, 'errors': True} {'SNR_ww': 327.1508483886719, 'FOM_ww': 3.3171546459198, 'FOM_DETF_ww': 0.092340387403965, 'SNR_gg': 677.09228515625, 'FOM_gg': 32.099971771240234, 'FOM_DETF_gg': 0.1580391675233841, 'SNR_3x2': 700.0398559570312, 'FOM_3x2': 852.3770751953125, 'FOM_DETF_3x2': 12.79428482055664} diff --git a/results/random/jax/u_4bins.txt b/results/random/jax/u_4bins.txt new file mode 100644 index 00000000..002a3fca --- /dev/null +++ b/results/random/jax/u_4bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_4 {'bins': 4, 'colors': True, 'errors': True} {'SNR_ww': 351.2440185546875, 'FOM_ww': 23.247020721435547, 'FOM_DETF_ww': 0.6437975764274597, 'SNR_gg': 1106.9310302734375, 'FOM_gg': 527.278076171875, 'FOM_DETF_gg': 5.282368183135986, 'SNR_3x2': 1110.4364013671875, 'FOM_3x2': 2280.726806640625, 'FOM_DETF_3x2': 43.6702995300293} diff --git a/results/random/jax/u_6bins.txt b/results/random/jax/u_6bins.txt new file mode 100644 index 00000000..393170ac --- /dev/null +++ b/results/random/jax/u_6bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_6 {'bins': 6, 'colors': True, 'errors': True} {'SNR_ww': 352.9674072265625, 'FOM_ww': 30.201784133911133, 'FOM_DETF_ww': 0.7597047090530396, 'SNR_gg': 1151.7760009765625, 'FOM_gg': 819.4025268554688, 'FOM_DETF_gg': 7.07086181640625, 'SNR_3x2': 1155.22509765625, 'FOM_3x2': 3679.62744140625, 'FOM_DETF_3x2': 49.80576705932617} diff --git a/results/random/jax/u_8bins.txt b/results/random/jax/u_8bins.txt new file mode 100644 index 00000000..3c9dbde6 --- /dev/null +++ b/results/random/jax/u_8bins.txt @@ -0,0 +1 @@ +RandomForestUniform run_8 {'bins': 8, 'colors': True, 'errors': True} {'SNR_ww': 354.352294921875, 'FOM_ww': 36.73133850097656, 'FOM_DETF_ww': 0.8435292840003967, 'SNR_gg': 1244.733642578125, 'FOM_gg': 990.042724609375, 'FOM_DETF_gg': 8.24472427368164, 'SNR_3x2': 1247.9957275390625, 'FOM_3x2': 4521.0576171875, 'FOM_DETF_3x2': 55.020790100097656} diff --git a/results/riz_rf_4bins.txt b/results/riz_rf_4bins.txt new file mode 100644 index 00000000..679b4fc7 --- /dev/null +++ b/results/riz_rf_4bins.txt @@ -0,0 +1 @@ +RandomForest run_4 {'bins': 4, 'colors': True, 'errors': True} {'SNR_ww': 354.6609820268124, 'FOM_ww': 75.86045148833578, 'SNR_gg': 1225.4257263396669, 'FOM_gg': 1567.6121506994662, 'SNR_3x2': 1227.6735428278516, 'FOM_3x2': 11719.728722321575} diff --git a/tomo_challenge/.DS_Store b/tomo_challenge/.DS_Store new file mode 100644 index 00000000..2385de36 Binary files /dev/null and b/tomo_challenge/.DS_Store differ diff --git a/tomo_challenge/classifiers/myclassifier.py b/tomo_challenge/classifiers/myclassifier.py new file mode 100644 index 00000000..fffe5d92 --- /dev/null +++ b/tomo_challenge/classifiers/myclassifier.py @@ -0,0 +1,185 @@ +""" +This is an example tomographic bin generator using a random forest. + +Every classifier module needs to: + - have construction of the type + __init__ (self, bands, options) (see examples below) + - implement two functions: + train (self, training_data,training_z) + apply (self, data). + - define valid_options class varible. + +See Classifier Documentation below. +""" + +from .base import Tomographer +import numpy as np +from sklearn.ensemble import RandomForestClassifier +import jax_cosmo.parameters +import jax_cosmo.background + + +class funbins(Tomographer): + """ Random Forest Classifier """ + + # valid parameter -- see below + valid_options = ['bins', 'seed', 'method', 'combinebins'] + # this settings means arrays will be sent to train and apply instead + # of dictionaries + wants_arrays = True + + def __init__ (self, bands, options): + """Constructor + + Parameters: + ----------- + bands: str + string containg valid bands, like 'riz' or 'griz' + options: dict + options come through here. Valid keys are listed as valid_options + class variable. + + Note: + ----- + Valiad options are: + 'bins' - number of tomographic bins + 'seed' - the seed to use for RandomState + 'method' - what method to use for binning: 'log', 'random', 'linear', 'chi' + 'combinebins' - what 2 bins to combine as a list + + """ + self.bands = bands + self.opt = options + + def train (self, training_data, training_z): + """Trains the classifier + + Parameters: + ----------- + training_data: numpy array, size Ngalaxes x Nbands + training data, each row is a galaxy, each column is a band as per + band defined above + training_z: numpy array, size Ngalaxies + true redshift for the training sample + + """ + #reading in elements from yaml + n_bin = self.opt['bins'] + + if self.opt['seed'] is None: + seed = 123 + print('The default seed is 123') + else: + seed = self.opt['seed'] + print(f'The seed is {seed}') + + if self.opt['method'] is None: + method = 'log' + print('The default method for binning has been set to log.') + else: + method = self.opt['method'] + assert method in ['log', 'random', 'linear', 'chi'], 'The method must be log, random, linear, or chi' + print(f'The method has been set to {method}') + + if self.opt['combinebins'] is None: + combine = None + elif self.opt['combinebins'] is not None: + combine = self.opt['combinebins'] + assert len(combine == 2), "You can only combine 2 bins at one time right now!" + print(f'You are combining bins {combine[0]} and {combine[1]}') + + #set up a reproducible random state + gen = np.random.RandomState(seed) + + #find bins + print("Finding bins for training data") + + training_bin = np.zeros(training_z.size) + + if method == 'log': + #creating percentile binning in logspace + p = np.logspace(0, 2, n_bin + 1) + z_edges = np.percentile(training_z, p) + + if method == 'random': + #creating a random binning by pulling from a uniform distribution + z_edges = gen.uniform(0, 3, n_bin - 1) + z_edges = np.insert(z_edges, 0, np.min(training_z)) + z_edges = np.insert(z_edges, 0, np.max(training_z)) + z_edges.sort() + + if method == 'linear': + #the given random forest linear binning + p = np.linspace(0, 100, n_bin +1) + z_edges = np.percentile(training_z, p) + + #can add stuff here about david's method if it can be generalized to n bins + #n_bin = 8 + #training_bin = np.load('dc2-labels.npy')#[:len(training_z)] + #print(len(training_bin)) + + if method == 'chi': + z = np.asarray(training_z) + # Tabulate comoving distance over a grid spanning the full range of input redshifts. + zgrid = np.linspace(0, z.max(), 1000) + agrid = 1 / (1 + zgrid) + model = jax_cosmo.parameters.Planck15() + chi_grid = jax_cosmo.background.radial_comoving_distance(model, agrid) + # Compute bin edges that are equally spaced in chi. + chi_edges = np.linspace(0, chi_grid[-1], n_bin + 1) + z_edges = np.empty(n_bin + 1) + z_edges[0] = 0. + z_edges[-1] = z.max() + z_edges[1:-1] = np.interp(chi_edges[1:-1], chi_grid, zgrid) + + + # Now find all the objects in each of these bins + for i in range(n_bin): + z_low = z_edges[i] + z_high = z_edges[i + 1] + training_bin[(training_z > z_low) & (training_z < z_high)] = i + + if combine: + max_ = np.max(training_bin) + if combine[1] == max_: + #combine the bins, combining the higher/max bin into the lower bin is also moving because its max bin + training_bin[training_bin == combine[1]] = combine[0] + if combine[1] != max_: + #combine the bins + training_bin[training_bin == combine[1]] = combine[0] + #move the max bin into the empty spot + training_bin[training_bin == max_] = combine[1] + + # for speed, cut down to 5% of original size + cut = gen.uniform(0, 1, training_z.size) < 0.05 + training_bin = training_bin[cut] + training_data = training_data[cut] + + # Can be replaced with any classifier + classifier = RandomForestClassifier() + + print("Fitting classifier") + # Lots of data, so this will take some time + classifier.fit(training_data, training_bin) + + self.classifier = classifier + #self.z_edges = z_edges + + + def apply (self, data): + """Applies training to the data. + + Parameters: + ----------- + Data: numpy array, size Ngalaxes x Nbands + testing data, each row is a galaxy, each column is a band as per + band defined above + + Returns: + tomographic_selections: numpy array, int, size Ngalaxies + tomographic selection for galaxies return as bin number for + each galaxy. + """ + tomo_bin = self.classifier.predict(data) + return tomo_bin + diff --git a/tomo_challenge/metrics.py b/tomo_challenge/metrics.py index d129377a..eec578ad 100644 --- a/tomo_challenge/metrics.py +++ b/tomo_challenge/metrics.py @@ -142,9 +142,9 @@ def compute_mean_covariance(tomo_bin, z, what): # work out the number density per steradian steradian_to_arcmin2 = (180*60/np.pi)**2 n_eff_total = n_eff_total_arcmin2 * steradian_to_arcmin2 - + nbin = int(tomo_bin.max()) + 1 - + z_mid, n_of_z = get_n_of_z(tomo_bin, z) bz = 1/ccl.growth_factor(cosmo, 1/(1+z_mid)) bofz = (z_mid, bz) @@ -233,13 +233,14 @@ def plot_distributions(z, tomo_bin, filename, nominal_edges=None): nbin = int(tomo_bin.max()) + 1 for i in range(nbin): w = np.where(tomo_bin == i) - plt.hist(z[w], bins=50, histtype='step') + plt.hist(z[w], bins=50, histtype='step', label = f'bin {i}') # Plot verticals at nominal edges, if given if nominal_edges is not None: for x in nominal_edges: plt.axvline(x, color='k', linestyle=':') - + + plt.legend() plt.savefig(filename) plt.close()