diff --git a/.gitignore b/.gitignore index 31e708fc7a216f426dece996dd9a01a012b08151..8142d3669783655a35b7135fb4d7ef1db56a4ff2 100644 --- a/.gitignore +++ b/.gitignore @@ -172,8 +172,10 @@ models/Miqu-1-70b/* !models/Miqu-1-70b/.gitkeep models/Fine-tuned_Miqu-1-70b/* !models/Fine-tuned_Miqu-1-70b/.gitkeep -models/CamemBERT-large/* -!models/CamemBERT-large/.gitkeep +models/CamemBERT-base/* +!models/CamemBERT-base/.gitkeep +models/Fine-tuned_CamemBERT-base/* +!models/Fine-tuned_CamemBERT-base/.gitkeep modules/llm/Mixtral-8x7b/results/* modules/llm/Mixtral-8x7b/.lock_preprocessing diff --git a/models/CamemBERT-large/.gitkeep b/models/CamemBERT-base/.gitkeep similarity index 100% rename from models/CamemBERT-large/.gitkeep rename to models/CamemBERT-base/.gitkeep diff --git a/models/Fine-tuned_CamemBERT-base/.gitkeep b/models/Fine-tuned_CamemBERT-base/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/models/download_model.py b/models/download_model.py index e8b7e924f50591e95e2e9d7ec29753512787ce23..26ac06316fb64ad545c458af981f98a62b221495 100644 --- a/models/download_model.py +++ b/models/download_model.py @@ -3,4 +3,4 @@ from huggingface_hub import snapshot_download #snapshot_download(repo_id="mistralai/Mixtral-8x7B-Instruct-v0.1", cache_dir="../temp", local_dir="./Mixtral-8x7B-Instruct-v0.1") #snapshot_download(repo_id="mistralai/Mistral-7B-Instruct-v0.2", cache_dir="../temp", local_dir="./Mistral-7B-Instruct-v0.2") #snapshot_download(repo_id="152334H/miqu-1-70b-sf", cache_dir="../temp", local_dir="./Miqu-1-70b") -snapshot_download(repo_id="camembert/camembert-large", cache_dir="../temp", local_dir="./CamemBERT-large") \ No newline at end of file +snapshot_download(repo_id="camembert/camembert-base", cache_dir="../temp", local_dir="./CamemBERT-base") \ No newline at end of file diff --git a/modules/camembert/camembert-classifier.ipynb b/modules/camembert/camembert-classifier.ipynb index 0ff86e8c77e45074c15bdc95f6e69bb2bd31c7ab..1997e28cec8b38e045daab16ec6c2fd54786e1d5 100644 --- a/modules/camembert/camembert-classifier.ipynb +++ b/modules/camembert/camembert-classifier.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 1, "id": "757a8bf026156e77", "metadata": {}, "outputs": [], @@ -21,7 +21,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 2, "id": "be3a4c320f9d4a5", "metadata": { "editable": true, @@ -43,32 +43,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 3, "id": "2aa2fefac95e7f04", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "HF google storage unreachable. Downloading and preparing it from source\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9e6868a6d2684d708550b8f0b91a2b00", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Generating train split: 0 examples [00:00, ? examples/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from datasets import Dataset\n", "train_ds = Dataset.from_json(\"../../data/annotations.train.jsonlines\")\n", @@ -77,12 +55,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 4, "id": "9e0a21356e7701a1", "metadata": {}, "outputs": [], "source": [ - "modelId = '../../models/CamemBERT-large'" + "modelId = '../../models/CamemBERT-base'" ] }, { @@ -95,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 5, "id": "e6459259f5ab2d98", "metadata": {}, "outputs": [], @@ -106,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 6, "id": "8c96680645f077fb", "metadata": {}, "outputs": [], @@ -169,14 +147,14 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 7, "id": "53310845f13e9d70", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e1ebf3c7ddf04729a19e816cba6ee619", + "model_id": "f391afe0858f485cb23169a62f7ff260", "version_major": 2, "version_minor": 0 }, @@ -186,6 +164,20 @@ }, "metadata": {}, "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "408fbc91942047b3acb61ddfdf5233c6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Map: 0%| | 0/159 [00:00<?, ? examples/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -195,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 8, "id": "a654180a-a536-43fa-8984-c7b87b419f93", "metadata": {}, "outputs": [ @@ -227,14 +219,14 @@ " ' | [102, 103] | []\n", " un | [103, 106] | []\n", " véhicule | [106, 115] | []\n", - " sur | [115, 119] | []\n", + " sur | [115, 119] | ['B-location']\n", " les | [119, 123] | ['I-location']\n", " voies | [123, 129] | ['I-location']\n", " publiques | [129, 139] | ['I-location']\n", " par | [139, 143] | []\n", - " une | [143, 147] | []\n", + " une | [143, 147] | ['B-actor']\n", " personne | [147, 156] | ['I-actor']\n", - " non | [156, 160] | []\n", + " non | [156, 160] | ['B-condition']\n", " titulaire | [160, 170] | ['I-condition']\n", " d | [170, 172] | ['I-condition']\n", " | [172, 173] | ['I-condition']\n", @@ -270,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "6990d89800dbb440", "metadata": {}, "outputs": [], @@ -289,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "7bd0cddab7ddb448", "metadata": {}, "outputs": [], @@ -339,7 +331,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "ea5d16f59728e2b9", "metadata": {}, "outputs": [], @@ -438,7 +430,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "79161ed938cad895", "metadata": {}, "outputs": [], @@ -463,7 +455,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "931792b554582a9f", "metadata": {}, "outputs": [ @@ -471,7 +463,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "Detected kernel version 4.18.0, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher.\n" + "Detected kernel version 4.18.0, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher.\n", + "/linkhome/rech/geniri01/uks68hs/.local/lib/python3.11/site-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return self.fget.__get__(instance, owner)()\n" ] }, { @@ -481,7 +475,7 @@ " <div>\n", " \n", " <progress value='1300' max='1300' style='width:300px; height:20px; vertical-align: middle;'></progress>\n", - " [1300/1300 18:47, Epoch 100/100]\n", + " [1300/1300 07:10, Epoch 100/100]\n", " </div>\n", " <table border=\"1\" class=\"dataframe\">\n", " <thead>\n", @@ -512,7 +506,7 @@ " <tr>\n", " <td>1</td>\n", " <td>No log</td>\n", - " <td>0.119390</td>\n", + " <td>0.412163</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -534,7 +528,7 @@ " <tr>\n", " <td>2</td>\n", " <td>No log</td>\n", - " <td>0.082730</td>\n", + " <td>0.316694</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -556,7 +550,7 @@ " <tr>\n", " <td>3</td>\n", " <td>No log</td>\n", - " <td>0.072066</td>\n", + " <td>0.238798</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -578,7 +572,7 @@ " <tr>\n", " <td>4</td>\n", " <td>No log</td>\n", - " <td>0.068286</td>\n", + " <td>0.182076</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -600,7 +594,7 @@ " <tr>\n", " <td>5</td>\n", " <td>No log</td>\n", - " <td>0.066546</td>\n", + " <td>0.143233</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -622,7 +616,7 @@ " <tr>\n", " <td>6</td>\n", " <td>No log</td>\n", - " <td>0.065907</td>\n", + " <td>0.117200</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -644,7 +638,7 @@ " <tr>\n", " <td>7</td>\n", " <td>No log</td>\n", - " <td>0.064974</td>\n", + " <td>0.098740</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -665,8 +659,8 @@ " </tr>\n", " <tr>\n", " <td>8</td>\n", - " <td>0.084200</td>\n", - " <td>0.065235</td>\n", + " <td>0.234000</td>\n", + " <td>0.087432</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -687,8 +681,8 @@ " </tr>\n", " <tr>\n", " <td>9</td>\n", - " <td>0.084200</td>\n", - " <td>0.064785</td>\n", + " <td>0.234000</td>\n", + " <td>0.078084</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -709,8 +703,8 @@ " </tr>\n", " <tr>\n", " <td>10</td>\n", - " <td>0.084200</td>\n", - " <td>0.064681</td>\n", + " <td>0.234000</td>\n", + " <td>0.070420</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -731,8 +725,8 @@ " </tr>\n", " <tr>\n", " <td>11</td>\n", - " <td>0.084200</td>\n", - " <td>0.064401</td>\n", + " <td>0.234000</td>\n", + " <td>0.067285</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -753,8 +747,8 @@ " </tr>\n", " <tr>\n", " <td>12</td>\n", - " <td>0.084200</td>\n", - " <td>0.064358</td>\n", + " <td>0.234000</td>\n", + " <td>0.062103</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -775,8 +769,8 @@ " </tr>\n", " <tr>\n", " <td>13</td>\n", - " <td>0.084200</td>\n", - " <td>0.064391</td>\n", + " <td>0.234000</td>\n", + " <td>0.056969</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -784,6 +778,7 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.650353</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -792,13 +787,12 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.040647</td>\n", " </tr>\n", " <tr>\n", " <td>14</td>\n", - " <td>0.084200</td>\n", - " <td>0.063791</td>\n", + " <td>0.234000</td>\n", + " <td>0.055188</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -806,6 +800,7 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.785311</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -814,21 +809,20 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.049082</td>\n", " </tr>\n", " <tr>\n", " <td>15</td>\n", - " <td>0.084200</td>\n", - " <td>0.064149</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.234000</td>\n", + " <td>0.053174</td>\n", " <td>0</td>\n", + " <td>0.215743</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.675358</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -837,19 +831,20 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.055694</td>\n", " </tr>\n", " <tr>\n", " <td>16</td>\n", - " <td>0.047300</td>\n", - " <td>0.063646</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.052431</td>\n", " <td>0</td>\n", + " <td>0.221252</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.772576</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -858,19 +853,20 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.062114</td>\n", " </tr>\n", " <tr>\n", " <td>17</td>\n", - " <td>0.047300</td>\n", - " <td>0.063821</td>\n", + " <td>0.056300</td>\n", + " <td>0.049820</td>\n", " <td>0</td>\n", + " <td>0.353547</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.786008</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -879,21 +875,20 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.071222</td>\n", " </tr>\n", " <tr>\n", " <td>18</td>\n", - " <td>0.047300</td>\n", - " <td>0.064211</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.048299</td>\n", " <td>0</td>\n", + " <td>0.358129</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.794191</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -902,21 +897,20 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.072020</td>\n", " </tr>\n", " <tr>\n", " <td>19</td>\n", - " <td>0.047300</td>\n", - " <td>0.063506</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.047175</td>\n", " <td>0</td>\n", + " <td>0.248388</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.792673</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", @@ -925,1789 +919,1789 @@ " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.065066</td>\n", " </tr>\n", " <tr>\n", " <td>20</td>\n", - " <td>0.047300</td>\n", - " <td>0.063737</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.045312</td>\n", " <td>0</td>\n", + " <td>0.316415</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.800352</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.007339</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.070257</td>\n", " </tr>\n", " <tr>\n", " <td>21</td>\n", - " <td>0.047300</td>\n", - " <td>0.063937</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.045347</td>\n", " <td>0</td>\n", + " <td>0.389034</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.786567</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.050725</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.076645</td>\n", " </tr>\n", " <tr>\n", " <td>22</td>\n", - " <td>0.047300</td>\n", - " <td>0.063603</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.044759</td>\n", " <td>0</td>\n", + " <td>0.449363</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.791803</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.022388</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.078972</td>\n", " </tr>\n", " <tr>\n", " <td>23</td>\n", - " <td>0.047300</td>\n", - " <td>0.063896</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.056300</td>\n", + " <td>0.044481</td>\n", " <td>0</td>\n", + " <td>0.379575</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.806236</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.150171</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.050445</td>\n", + " <td>0.086652</td>\n", " </tr>\n", " <tr>\n", " <td>24</td>\n", - " <td>0.046600</td>\n", - " <td>0.063802</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.042364</td>\n", " <td>0</td>\n", + " <td>0.432091</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.796450</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.596491</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.067847</td>\n", + " <td>0.118305</td>\n", " </tr>\n", " <tr>\n", " <td>25</td>\n", - " <td>0.046600</td>\n", - " <td>0.063450</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.039601</td>\n", " <td>0</td>\n", + " <td>0.548103</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.809002</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.407569</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.286822</td>\n", + " <td>0.128218</td>\n", " </tr>\n", " <tr>\n", " <td>26</td>\n", - " <td>0.046600</td>\n", - " <td>0.063784</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.042139</td>\n", " <td>0</td>\n", + " <td>0.452838</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.810434</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.630675</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.085044</td>\n", + " <td>0.123687</td>\n", " </tr>\n", " <tr>\n", " <td>27</td>\n", - " <td>0.046600</td>\n", - " <td>0.063721</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.040987</td>\n", " <td>0</td>\n", + " <td>0.521875</td>\n", " <td>0</td>\n", + " <td>0.015798</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.816312</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.364742</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.330000</td>\n", + " <td>0.128045</td>\n", " </tr>\n", " <tr>\n", " <td>28</td>\n", - " <td>0.046600</td>\n", - " <td>0.063457</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.041427</td>\n", " <td>0</td>\n", + " <td>0.470709</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.813115</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.226230</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.234043</td>\n", + " <td>0.109006</td>\n", " </tr>\n", " <tr>\n", " <td>29</td>\n", - " <td>0.046600</td>\n", - " <td>0.064005</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.039528</td>\n", " <td>0</td>\n", + " <td>0.522611</td>\n", " <td>0</td>\n", + " <td>0.009509</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.812846</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.512550</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.314214</td>\n", + " <td>0.135733</td>\n", " </tr>\n", " <tr>\n", " <td>30</td>\n", - " <td>0.046600</td>\n", - " <td>0.063646</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.030800</td>\n", + " <td>0.039642</td>\n", " <td>0</td>\n", + " <td>0.502891</td>\n", " <td>0</td>\n", + " <td>0.021807</td>\n", " <td>0</td>\n", + " <td>0.002401</td>\n", " <td>0</td>\n", + " <td>0.817880</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.665880</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.577320</td>\n", + " <td>0.161761</td>\n", " </tr>\n", " <tr>\n", " <td>31</td>\n", - " <td>0.046200</td>\n", - " <td>0.063863</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.020200</td>\n", + " <td>0.038608</td>\n", " <td>0</td>\n", + " <td>0.516876</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.809920</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.610294</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.354523</td>\n", + " <td>0.143226</td>\n", " </tr>\n", " <tr>\n", " <td>32</td>\n", - " <td>0.046200</td>\n", - " <td>0.063699</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.020200</td>\n", + " <td>0.041307</td>\n", " <td>0</td>\n", + " <td>0.497117</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.785474</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.256158</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.035928</td>\n", + " <td>0.098417</td>\n", " </tr>\n", " <tr>\n", " <td>33</td>\n", - " <td>0.046200</td>\n", - " <td>0.063776</td>\n", - " <td>0</td>\n", + " <td>0.020200</td>\n", + " <td>0.042604</td>\n", " <td>0</td>\n", + " <td>0.438500</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.796828</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.215947</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.152990</td>\n", + " <td>0.100267</td>\n", " </tr>\n", " <tr>\n", " <td>34</td>\n", - " <td>0.046200</td>\n", - " <td>0.063576</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>0.020200</td>\n", + " <td>0.040208</td>\n", " <td>0</td>\n", + " <td>0.485279</td>\n", " <td>0</td>\n", + " <td>0.165714</td>\n", " <td>0</td>\n", + " <td>0.001201</td>\n", + " <td>0.022989</td>\n", + " <td>0.825508</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.705215</td>\n", " <td>0</td>\n", + " <td>0.552008</td>\n", + " <td>0.172370</td>\n", + " </tr>\n", + " <tr>\n", + " <td>35</td>\n", + " <td>0.020200</td>\n", + " <td>0.041324</td>\n", " <td>0</td>\n", + " <td>0.443424</td>\n", " <td>0</td>\n", + " <td>0.132353</td>\n", " <td>0</td>\n", + " <td>0.004796</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>35</td>\n", - " <td>0.046200</td>\n", - " <td>0.063976</td>\n", + " <td>0.804113</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.627685</td>\n", " <td>0</td>\n", + " <td>0.463801</td>\n", + " <td>0.154761</td>\n", + " </tr>\n", + " <tr>\n", + " <td>36</td>\n", + " <td>0.020200</td>\n", + " <td>0.039715</td>\n", " <td>0</td>\n", + " <td>0.515067</td>\n", " <td>0</td>\n", + " <td>0.263946</td>\n", " <td>0</td>\n", + " <td>0.042328</td>\n", " <td>0</td>\n", + " <td>0.817304</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.649165</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.567347</td>\n", + " <td>0.178447</td>\n", " </tr>\n", " <tr>\n", - " <td>36</td>\n", - " <td>0.046200</td>\n", - " <td>0.063617</td>\n", + " <td>37</td>\n", + " <td>0.020200</td>\n", + " <td>0.040812</td>\n", " <td>0</td>\n", + " <td>0.469455</td>\n", " <td>0</td>\n", + " <td>0.263087</td>\n", " <td>0</td>\n", + " <td>0.008363</td>\n", + " <td>0.033708</td>\n", + " <td>0.814973</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.620939</td>\n", " <td>0</td>\n", + " <td>0.587639</td>\n", + " <td>0.174885</td>\n", + " </tr>\n", + " <tr>\n", + " <td>38</td>\n", + " <td>0.020200</td>\n", + " <td>0.040518</td>\n", " <td>0</td>\n", + " <td>0.470178</td>\n", " <td>0</td>\n", + " <td>0.498861</td>\n", " <td>0</td>\n", + " <td>0.070857</td>\n", + " <td>0.044944</td>\n", + " <td>0.811216</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0</td>\n", + " <td>0.672769</td>\n", + " <td>0</td>\n", + " <td>0.608440</td>\n", + " <td>0.198579</td>\n", " </tr>\n", " <tr>\n", - " <td>37</td>\n", - " <td>0.046200</td>\n", - " <td>0.063876</td>\n", + " <td>39</td>\n", + " <td>0.016000</td>\n", + " <td>0.039433</td>\n", " <td>0</td>\n", + " <td>0.503591</td>\n", " <td>0</td>\n", + " <td>0.379267</td>\n", " <td>0</td>\n", + " <td>0.010753</td>\n", + " <td>0.022727</td>\n", + " <td>0.811604</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.678815</td>\n", " <td>0</td>\n", + " <td>0.613569</td>\n", + " <td>0.188770</td>\n", + " </tr>\n", + " <tr>\n", + " <td>40</td>\n", + " <td>0.016000</td>\n", + " <td>0.038355</td>\n", + " <td>0.037500</td>\n", + " <td>0.502589</td>\n", " <td>0</td>\n", + " <td>0.598555</td>\n", " <td>0</td>\n", + " <td>0.120219</td>\n", + " <td>0.211055</td>\n", + " <td>0.803366</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.736730</td>\n", + " <td>0</td>\n", + " <td>0.638177</td>\n", + " <td>0.228012</td>\n", " </tr>\n", " <tr>\n", - " <td>38</td>\n", - " <td>0.046200</td>\n", - " <td>0.063465</td>\n", + " <td>41</td>\n", + " <td>0.016000</td>\n", + " <td>0.040137</td>\n", + " <td>0</td>\n", + " <td>0.488297</td>\n", " <td>0</td>\n", + " <td>0.584034</td>\n", " <td>0</td>\n", + " <td>0.110254</td>\n", + " <td>0.155440</td>\n", + " <td>0.807813</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.716776</td>\n", " <td>0</td>\n", + " <td>0.634055</td>\n", + " <td>0.218542</td>\n", + " </tr>\n", + " <tr>\n", + " <td>42</td>\n", + " <td>0.016000</td>\n", + " <td>0.038627</td>\n", + " <td>0.266010</td>\n", + " <td>0.508838</td>\n", " <td>0</td>\n", + " <td>0.608875</td>\n", " <td>0</td>\n", + " <td>0.175205</td>\n", + " <td>0.362069</td>\n", + " <td>0.803647</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.717622</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.625120</td>\n", + " <td>0.254212</td>\n", " </tr>\n", " <tr>\n", - " <td>39</td>\n", - " <td>0.046500</td>\n", - " <td>0.063430</td>\n", + " <td>43</td>\n", + " <td>0.016000</td>\n", + " <td>0.038535</td>\n", + " <td>0.342342</td>\n", + " <td>0.533722</td>\n", " <td>0</td>\n", + " <td>0.634000</td>\n", " <td>0</td>\n", + " <td>0.111849</td>\n", + " <td>0.353448</td>\n", + " <td>0.805996</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.702470</td>\n", " <td>0</td>\n", + " <td>0.691006</td>\n", + " <td>0.260927</td>\n", + " </tr>\n", + " <tr>\n", + " <td>44</td>\n", + " <td>0.016000</td>\n", + " <td>0.040735</td>\n", + " <td>0.024691</td>\n", + " <td>0.471883</td>\n", " <td>0</td>\n", + " <td>0.536424</td>\n", " <td>0</td>\n", + " <td>0.076007</td>\n", + " <td>0.077778</td>\n", + " <td>0.802062</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.706013</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.629191</td>\n", + " <td>0.207753</td>\n", " </tr>\n", " <tr>\n", - " <td>40</td>\n", - " <td>0.046500</td>\n", - " <td>0.063662</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>45</td>\n", + " <td>0.016000</td>\n", + " <td>0.040021</td>\n", + " <td>0.153846</td>\n", + " <td>0.459415</td>\n", " <td>0</td>\n", + " <td>0.673557</td>\n", " <td>0</td>\n", + " <td>0.115847</td>\n", + " <td>0.289593</td>\n", + " <td>0.798407</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.716738</td>\n", " <td>0</td>\n", + " <td>0.655617</td>\n", + " <td>0.241439</td>\n", + " </tr>\n", + " <tr>\n", + " <td>46</td>\n", + " <td>0.016000</td>\n", + " <td>0.039125</td>\n", + " <td>0.341232</td>\n", + " <td>0.498902</td>\n", + " <td>0.131579</td>\n", + " <td>0.644776</td>\n", " <td>0</td>\n", + " <td>0.164271</td>\n", + " <td>0.498168</td>\n", + " <td>0.797424</td>\n", " <td>0</td>\n", + " <td>0.403509</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.706783</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.671533</td>\n", + " <td>0.303636</td>\n", " </tr>\n", " <tr>\n", - " <td>41</td>\n", - " <td>0.046500</td>\n", - " <td>0.063466</td>\n", + " <td>47</td>\n", + " <td>0.011600</td>\n", + " <td>0.039807</td>\n", + " <td>0.480000</td>\n", + " <td>0.503089</td>\n", " <td>0</td>\n", + " <td>0.641776</td>\n", " <td>0</td>\n", + " <td>0.124131</td>\n", + " <td>0.396624</td>\n", + " <td>0.800132</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.024390</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.716612</td>\n", " <td>0</td>\n", + " <td>0.662374</td>\n", + " <td>0.271821</td>\n", + " </tr>\n", + " <tr>\n", + " <td>48</td>\n", + " <td>0.011600</td>\n", + " <td>0.039899</td>\n", + " <td>0.309179</td>\n", + " <td>0.470106</td>\n", + " <td>0.054795</td>\n", + " <td>0.662791</td>\n", " <td>0</td>\n", + " <td>0.187596</td>\n", + " <td>0.383333</td>\n", + " <td>0.817895</td>\n", " <td>0</td>\n", + " <td>0.324074</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.708423</td>\n", " <td>0</td>\n", + " <td>0.646776</td>\n", + " <td>0.285310</td>\n", + " </tr>\n", + " <tr>\n", + " <td>49</td>\n", + " <td>0.011600</td>\n", + " <td>0.038457</td>\n", + " <td>0.294931</td>\n", + " <td>0.526336</td>\n", " <td>0</td>\n", + " <td>0.643357</td>\n", " <td>0</td>\n", + " <td>0.134048</td>\n", + " <td>0.435424</td>\n", + " <td>0.808129</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>42</td>\n", - " <td>0.046500</td>\n", - " <td>0.063784</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.701870</td>\n", " <td>0</td>\n", + " <td>0.680997</td>\n", + " <td>0.264068</td>\n", + " </tr>\n", + " <tr>\n", + " <td>50</td>\n", + " <td>0.011600</td>\n", + " <td>0.038223</td>\n", + " <td>0.494297</td>\n", + " <td>0.530031</td>\n", + " <td>0.041379</td>\n", + " <td>0.687081</td>\n", " <td>0</td>\n", + " <td>0.196970</td>\n", + " <td>0.440154</td>\n", + " <td>0.811071</td>\n", " <td>0</td>\n", + " <td>0.396694</td>\n", + " <td>0.136364</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.709957</td>\n", " <td>0</td>\n", + " <td>0.672845</td>\n", + " <td>0.319803</td>\n", + " </tr>\n", + " <tr>\n", + " <td>51</td>\n", + " <td>0.011600</td>\n", + " <td>0.039839</td>\n", + " <td>0.494465</td>\n", + " <td>0.507475</td>\n", + " <td>0.054054</td>\n", + " <td>0.696395</td>\n", " <td>0</td>\n", + " <td>0.154915</td>\n", + " <td>0.474453</td>\n", + " <td>0.818606</td>\n", " <td>0</td>\n", + " <td>0.103093</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.712269</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.666667</td>\n", + " <td>0.292649</td>\n", " </tr>\n", " <tr>\n", - " <td>43</td>\n", - " <td>0.046500</td>\n", - " <td>0.063227</td>\n", - " <td>0</td>\n", + " <td>52</td>\n", + " <td>0.011600</td>\n", + " <td>0.038657</td>\n", + " <td>0.333333</td>\n", + " <td>0.511230</td>\n", + " <td>0.040816</td>\n", + " <td>0.704567</td>\n", " <td>0</td>\n", + " <td>0.188235</td>\n", + " <td>0.482014</td>\n", + " <td>0.813641</td>\n", " <td>0</td>\n", + " <td>0.389831</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.027027</td>\n", + " <td>0.702407</td>\n", " <td>0</td>\n", + " <td>0.677566</td>\n", + " <td>0.304417</td>\n", + " </tr>\n", + " <tr>\n", + " <td>53</td>\n", + " <td>0.011600</td>\n", + " <td>0.039706</td>\n", + " <td>0.551020</td>\n", + " <td>0.512708</td>\n", + " <td>0.092105</td>\n", + " <td>0.685115</td>\n", " <td>0</td>\n", + " <td>0.188718</td>\n", + " <td>0.456929</td>\n", + " <td>0.815812</td>\n", " <td>0</td>\n", + " <td>0.298643</td>\n", + " <td>0.306122</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.706136</td>\n", " <td>0</td>\n", + " <td>0.675774</td>\n", + " <td>0.330568</td>\n", + " </tr>\n", + " <tr>\n", + " <td>54</td>\n", + " <td>0.009400</td>\n", + " <td>0.039054</td>\n", + " <td>0.530201</td>\n", + " <td>0.512993</td>\n", + " <td>0.150943</td>\n", + " <td>0.695489</td>\n", " <td>0</td>\n", + " <td>0.205720</td>\n", + " <td>0.510345</td>\n", + " <td>0.811705</td>\n", " <td>0</td>\n", + " <td>0.370690</td>\n", " <td>0</td>\n", " <td>0</td>\n", + " <td>0.027397</td>\n", + " <td>0.705882</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.668513</td>\n", + " <td>0.324367</td>\n", " </tr>\n", " <tr>\n", - " <td>44</td>\n", - " <td>0.046500</td>\n", - " <td>0.063832</td>\n", + " <td>55</td>\n", + " <td>0.009400</td>\n", + " <td>0.038911</td>\n", + " <td>0.554839</td>\n", + " <td>0.522047</td>\n", + " <td>0.067114</td>\n", + " <td>0.695817</td>\n", " <td>0</td>\n", + " <td>0.206793</td>\n", + " <td>0.458781</td>\n", + " <td>0.810700</td>\n", " <td>0</td>\n", + " <td>0.420168</td>\n", + " <td>0.288660</td>\n", " <td>0</td>\n", + " <td>0.027027</td>\n", + " <td>0.700873</td>\n", " <td>0</td>\n", + " <td>0.683729</td>\n", + " <td>0.339784</td>\n", + " </tr>\n", + " <tr>\n", + " <td>56</td>\n", + " <td>0.009400</td>\n", + " <td>0.039227</td>\n", + " <td>0.557377</td>\n", + " <td>0.518460</td>\n", + " <td>0.318182</td>\n", + " <td>0.705341</td>\n", " <td>0</td>\n", + " <td>0.197468</td>\n", + " <td>0.535948</td>\n", + " <td>0.812554</td>\n", " <td>0</td>\n", + " <td>0.423237</td>\n", + " <td>0.155556</td>\n", " <td>0</td>\n", + " <td>0.027027</td>\n", + " <td>0.711014</td>\n", " <td>0</td>\n", + " <td>0.674766</td>\n", + " <td>0.352308</td>\n", + " </tr>\n", + " <tr>\n", + " <td>57</td>\n", + " <td>0.009400</td>\n", + " <td>0.039139</td>\n", + " <td>0.554839</td>\n", + " <td>0.524706</td>\n", + " <td>0.187500</td>\n", + " <td>0.707981</td>\n", " <td>0</td>\n", + " <td>0.204489</td>\n", + " <td>0.529801</td>\n", + " <td>0.813853</td>\n", " <td>0</td>\n", + " <td>0.394958</td>\n", + " <td>0.175824</td>\n", " <td>0</td>\n", + " <td>0.074074</td>\n", + " <td>0.698690</td>\n", " <td>0</td>\n", + " <td>0.680000</td>\n", + " <td>0.346670</td>\n", + " </tr>\n", + " <tr>\n", + " <td>58</td>\n", + " <td>0.009400</td>\n", + " <td>0.039422</td>\n", + " <td>0.544304</td>\n", + " <td>0.519716</td>\n", + " <td>0.253012</td>\n", + " <td>0.696480</td>\n", " <td>0</td>\n", + " <td>0.183955</td>\n", + " <td>0.513514</td>\n", + " <td>0.814241</td>\n", " <td>0</td>\n", + " <td>0.416327</td>\n", + " <td>0.234043</td>\n", " <td>0</td>\n", + " <td>0.027027</td>\n", + " <td>0.703507</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.677656</td>\n", + " <td>0.348986</td>\n", " </tr>\n", " <tr>\n", - " <td>45</td>\n", - " <td>0.046500</td>\n", - " <td>0.063885</td>\n", + " <td>59</td>\n", + " <td>0.009400</td>\n", + " <td>0.039397</td>\n", + " <td>0.551282</td>\n", + " <td>0.516410</td>\n", + " <td>0.196319</td>\n", + " <td>0.695652</td>\n", " <td>0</td>\n", + " <td>0.205794</td>\n", + " <td>0.540717</td>\n", + " <td>0.815300</td>\n", " <td>0</td>\n", + " <td>0.454902</td>\n", + " <td>0.024096</td>\n", " <td>0</td>\n", + " <td>0.027027</td>\n", + " <td>0.699571</td>\n", " <td>0</td>\n", + " <td>0.681319</td>\n", + " <td>0.338024</td>\n", + " </tr>\n", + " <tr>\n", + " <td>60</td>\n", + " <td>0.009400</td>\n", + " <td>0.039857</td>\n", + " <td>0.550633</td>\n", + " <td>0.524287</td>\n", + " <td>0.429319</td>\n", + " <td>0.697455</td>\n", " <td>0</td>\n", + " <td>0.201000</td>\n", + " <td>0.535948</td>\n", + " <td>0.813308</td>\n", " <td>0</td>\n", + " <td>0.476563</td>\n", + " <td>0.270833</td>\n", " <td>0</td>\n", + " <td>0.120482</td>\n", + " <td>0.706638</td>\n", " <td>0</td>\n", + " <td>0.681319</td>\n", + " <td>0.375487</td>\n", + " </tr>\n", + " <tr>\n", + " <td>61</td>\n", + " <td>0.009400</td>\n", + " <td>0.039326</td>\n", + " <td>0.554839</td>\n", + " <td>0.523482</td>\n", + " <td>0.209877</td>\n", + " <td>0.716636</td>\n", " <td>0</td>\n", + " <td>0.219393</td>\n", + " <td>0.541935</td>\n", + " <td>0.814051</td>\n", " <td>0</td>\n", + " <td>0.466926</td>\n", + " <td>0.091954</td>\n", " <td>0</td>\n", + " <td>0.053333</td>\n", + " <td>0.708995</td>\n", " <td>0</td>\n", + " <td>0.682525</td>\n", + " <td>0.348997</td>\n", + " </tr>\n", + " <tr>\n", + " <td>62</td>\n", + " <td>0.007800</td>\n", + " <td>0.039814</td>\n", + " <td>0.551282</td>\n", + " <td>0.517861</td>\n", + " <td>0.335196</td>\n", + " <td>0.692526</td>\n", " <td>0</td>\n", + " <td>0.208955</td>\n", + " <td>0.540193</td>\n", + " <td>0.813824</td>\n", " <td>0</td>\n", + " <td>0.511111</td>\n", + " <td>0.440367</td>\n", " <td>0</td>\n", + " <td>0.117647</td>\n", + " <td>0.701830</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.692516</td>\n", + " <td>0.382707</td>\n", " </tr>\n", " <tr>\n", - " <td>46</td>\n", - " <td>0.046500</td>\n", - " <td>0.063107</td>\n", + " <td>63</td>\n", + " <td>0.007800</td>\n", + " <td>0.040053</td>\n", + " <td>0.547771</td>\n", + " <td>0.517303</td>\n", + " <td>0.337079</td>\n", + " <td>0.698024</td>\n", " <td>0</td>\n", + " <td>0.204819</td>\n", + " <td>0.538462</td>\n", + " <td>0.813836</td>\n", " <td>0</td>\n", + " <td>0.494297</td>\n", + " <td>0.215054</td>\n", " <td>0</td>\n", + " <td>0.049383</td>\n", + " <td>0.705128</td>\n", " <td>0</td>\n", + " <td>0.681943</td>\n", + " <td>0.362694</td>\n", + " </tr>\n", + " <tr>\n", + " <td>64</td>\n", + " <td>0.007800</td>\n", + " <td>0.040453</td>\n", + " <td>0.545455</td>\n", + " <td>0.515554</td>\n", + " <td>0.395722</td>\n", + " <td>0.677638</td>\n", " <td>0</td>\n", + " <td>0.203815</td>\n", + " <td>0.534591</td>\n", + " <td>0.812209</td>\n", " <td>0</td>\n", + " <td>0.505495</td>\n", + " <td>0.285714</td>\n", " <td>0</td>\n", + " <td>0.208333</td>\n", + " <td>0.697425</td>\n", + " <td>0.057971</td>\n", + " <td>0.690217</td>\n", + " <td>0.383134</td>\n", + " </tr>\n", + " <tr>\n", + " <td>65</td>\n", + " <td>0.007800</td>\n", + " <td>0.039919</td>\n", + " <td>0.548896</td>\n", + " <td>0.516894</td>\n", + " <td>0.380435</td>\n", + " <td>0.706654</td>\n", " <td>0</td>\n", + " <td>0.221566</td>\n", + " <td>0.539185</td>\n", + " <td>0.814175</td>\n", " <td>0</td>\n", + " <td>0.501873</td>\n", + " <td>0.429907</td>\n", " <td>0</td>\n", + " <td>0.114943</td>\n", + " <td>0.696581</td>\n", + " <td>0.029412</td>\n", + " <td>0.698046</td>\n", + " <td>0.387410</td>\n", + " </tr>\n", + " <tr>\n", + " <td>66</td>\n", + " <td>0.007800</td>\n", + " <td>0.040473</td>\n", + " <td>0.551282</td>\n", + " <td>0.514557</td>\n", + " <td>0.404255</td>\n", + " <td>0.704887</td>\n", " <td>0</td>\n", + " <td>0.194106</td>\n", + " <td>0.531250</td>\n", + " <td>0.814685</td>\n", " <td>0</td>\n", + " <td>0.507353</td>\n", + " <td>0.440367</td>\n", " <td>0</td>\n", + " <td>0.112360</td>\n", + " <td>0.688172</td>\n", + " <td>0.029412</td>\n", + " <td>0.700265</td>\n", + " <td>0.387059</td>\n", + " </tr>\n", + " <tr>\n", + " <td>67</td>\n", + " <td>0.007800</td>\n", + " <td>0.040151</td>\n", + " <td>0.547771</td>\n", + " <td>0.517684</td>\n", + " <td>0.427083</td>\n", + " <td>0.704780</td>\n", " <td>0</td>\n", + " <td>0.218289</td>\n", + " <td>0.529231</td>\n", + " <td>0.812457</td>\n", " <td>0</td>\n", + " <td>0.503650</td>\n", + " <td>0.285714</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.269231</td>\n", + " <td>0.690832</td>\n", + " <td>0.111111</td>\n", + " <td>0.696970</td>\n", + " <td>0.394675</td>\n", " </tr>\n", " <tr>\n", - " <td>47</td>\n", - " <td>0.046100</td>\n", - " <td>0.063977</td>\n", + " <td>68</td>\n", + " <td>0.007800</td>\n", + " <td>0.040606</td>\n", + " <td>0.549521</td>\n", + " <td>0.520899</td>\n", + " <td>0.373626</td>\n", + " <td>0.694073</td>\n", " <td>0</td>\n", + " <td>0.195023</td>\n", + " <td>0.540193</td>\n", + " <td>0.813553</td>\n", " <td>0</td>\n", + " <td>0.514493</td>\n", + " <td>0.415094</td>\n", " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>48</td>\n", - " <td>0.046100</td>\n", - " <td>0.063261</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>49</td>\n", - " <td>0.046100</td>\n", - " <td>0.063933</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>50</td>\n", - " <td>0.046100</td>\n", - " <td>0.063129</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>51</td>\n", - " <td>0.046100</td>\n", - " <td>0.064023</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>52</td>\n", - " <td>0.046100</td>\n", - " <td>0.063470</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>53</td>\n", - " <td>0.046100</td>\n", - " <td>0.063712</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>54</td>\n", - " <td>0.046300</td>\n", - " <td>0.063430</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>55</td>\n", - " <td>0.046300</td>\n", - " <td>0.063749</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>56</td>\n", - " <td>0.046300</td>\n", - " <td>0.063365</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>57</td>\n", - " <td>0.046300</td>\n", - " <td>0.063758</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>58</td>\n", - " <td>0.046300</td>\n", - " <td>0.063565</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>59</td>\n", - " <td>0.046300</td>\n", - " <td>0.063666</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>60</td>\n", - " <td>0.046300</td>\n", - " <td>0.063359</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>61</td>\n", - " <td>0.046300</td>\n", - " <td>0.063906</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>62</td>\n", - " <td>0.046100</td>\n", - " <td>0.063559</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>63</td>\n", - " <td>0.046100</td>\n", - " <td>0.063358</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>64</td>\n", - " <td>0.046100</td>\n", - " <td>0.063619</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>65</td>\n", - " <td>0.046100</td>\n", - " <td>0.064060</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>66</td>\n", - " <td>0.046100</td>\n", - " <td>0.063420</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>67</td>\n", - " <td>0.046100</td>\n", - " <td>0.063344</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>68</td>\n", - " <td>0.046100</td>\n", - " <td>0.063726</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>69</td>\n", - " <td>0.046100</td>\n", - " <td>0.063456</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>70</td>\n", - " <td>0.046100</td>\n", - " <td>0.063503</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>71</td>\n", - " <td>0.046100</td>\n", - " <td>0.063785</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>72</td>\n", - " <td>0.046100</td>\n", - " <td>0.063311</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>73</td>\n", - " <td>0.046100</td>\n", - " <td>0.063794</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>74</td>\n", - " <td>0.046100</td>\n", - " <td>0.063858</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>75</td>\n", - " <td>0.046100</td>\n", - " <td>0.063304</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>76</td>\n", - " <td>0.046100</td>\n", - " <td>0.063726</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>77</td>\n", - " <td>0.046200</td>\n", - " <td>0.063677</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>78</td>\n", - " <td>0.046200</td>\n", - " <td>0.063369</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>79</td>\n", - " <td>0.046200</td>\n", - " <td>0.063540</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>80</td>\n", - " <td>0.046200</td>\n", - " <td>0.063654</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>81</td>\n", - " <td>0.046200</td>\n", - " <td>0.063716</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>82</td>\n", - " <td>0.046200</td>\n", - " <td>0.063495</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>83</td>\n", - " <td>0.046200</td>\n", - " <td>0.063715</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>84</td>\n", - " <td>0.046200</td>\n", - " <td>0.063790</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>85</td>\n", - " <td>0.046100</td>\n", - " <td>0.063564</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>86</td>\n", - " <td>0.046100</td>\n", - " <td>0.063488</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>87</td>\n", - " <td>0.046100</td>\n", - " <td>0.063494</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>88</td>\n", - " <td>0.046100</td>\n", - " <td>0.063711</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>89</td>\n", - " <td>0.046100</td>\n", - " <td>0.063496</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>90</td>\n", - " <td>0.046100</td>\n", - " <td>0.063695</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", - " </tr>\n", - " <tr>\n", - " <td>91</td>\n", - " <td>0.046100</td>\n", - " <td>0.063630</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.131868</td>\n", + " <td>0.688629</td>\n", + " <td>0.057971</td>\n", + " <td>0.690712</td>\n", + " <td>0.386603</td>\n", " </tr>\n", " <tr>\n", - " <td>92</td>\n", - " <td>0.046100</td>\n", - " <td>0.063632</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", + " <td>69</td>\n", + " <td>0.007800</td>\n", + " <td>0.039952</td>\n", + " <td>0.554140</td>\n", + " <td>0.531067</td>\n", + " <td>0.427083</td>\n", + " <td>0.704438</td>\n", " <td>0</td>\n", + " <td>0.224390</td>\n", + " <td>0.534591</td>\n", + " <td>0.813362</td>\n", " <td>0</td>\n", + " <td>0.519856</td>\n", + " <td>0.429907</td>\n", " <td>0</td>\n", + " <td>0.185567</td>\n", + " <td>0.683084</td>\n", + " <td>0.057971</td>\n", + " <td>0.705570</td>\n", + " <td>0.398189</td>\n", + " </tr>\n", + " <tr>\n", + " <td>70</td>\n", + " <td>0.006800</td>\n", + " <td>0.040290</td>\n", + " <td>0.544304</td>\n", + " <td>0.523651</td>\n", + " <td>0.402116</td>\n", + " <td>0.690249</td>\n", " <td>0</td>\n", + " <td>0.214286</td>\n", + " <td>0.527607</td>\n", + " <td>0.806157</td>\n", " <td>0</td>\n", + " <td>0.518519</td>\n", + " <td>0.468468</td>\n", " <td>0</td>\n", + " <td>0.183673</td>\n", + " <td>0.683761</td>\n", + " <td>0.085714</td>\n", + " <td>0.699734</td>\n", + " <td>0.396765</td>\n", + " </tr>\n", + " <tr>\n", + " <td>71</td>\n", + " <td>0.006800</td>\n", + " <td>0.040996</td>\n", + " <td>0.544304</td>\n", + " <td>0.518079</td>\n", + " <td>0.507317</td>\n", + " <td>0.702347</td>\n", " <td>0</td>\n", + " <td>0.214181</td>\n", + " <td>0.534954</td>\n", + " <td>0.813606</td>\n", " <td>0</td>\n", + " <td>0.530909</td>\n", + " <td>0.569106</td>\n", " <td>0</td>\n", + " <td>0.183673</td>\n", + " <td>0.690171</td>\n", + " <td>0.085714</td>\n", + " <td>0.684932</td>\n", + " <td>0.411206</td>\n", + " </tr>\n", + " <tr>\n", + " <td>72</td>\n", + " <td>0.006800</td>\n", + " <td>0.040465</td>\n", + " <td>0.539683</td>\n", + " <td>0.520521</td>\n", + " <td>0.507463</td>\n", + " <td>0.710280</td>\n", " <td>0</td>\n", + " <td>0.231772</td>\n", + " <td>0.548287</td>\n", + " <td>0.815070</td>\n", " <td>0</td>\n", + " <td>0.523297</td>\n", + " <td>0.550000</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.191489</td>\n", + " <td>0.697479</td>\n", + " <td>0.057971</td>\n", + " <td>0.694718</td>\n", + " <td>0.411752</td>\n", " </tr>\n", " <tr>\n", - " <td>93</td>\n", - " <td>0.046100</td>\n", - " <td>0.063613</td>\n", - " <td>0</td>\n", + " <td>73</td>\n", + " <td>0.006800</td>\n", + " <td>0.040772</td>\n", + " <td>0.548896</td>\n", + " <td>0.516040</td>\n", + " <td>0.395722</td>\n", + " <td>0.708178</td>\n", " <td>0</td>\n", + " <td>0.240191</td>\n", + " <td>0.538700</td>\n", + " <td>0.815794</td>\n", " <td>0</td>\n", + " <td>0.525180</td>\n", + " <td>0.590909</td>\n", " <td>0</td>\n", + " <td>0.206186</td>\n", + " <td>0.689218</td>\n", + " <td>0.136986</td>\n", + " <td>0.687783</td>\n", + " <td>0.412486</td>\n", + " </tr>\n", + " <tr>\n", + " <td>74</td>\n", + " <td>0.006800</td>\n", + " <td>0.040698</td>\n", + " <td>0.550633</td>\n", + " <td>0.522494</td>\n", + " <td>0.474747</td>\n", + " <td>0.699809</td>\n", " <td>0</td>\n", + " <td>0.227603</td>\n", + " <td>0.546547</td>\n", + " <td>0.814853</td>\n", " <td>0</td>\n", + " <td>0.534722</td>\n", + " <td>0.552846</td>\n", " <td>0</td>\n", + " <td>0.242991</td>\n", + " <td>0.701903</td>\n", + " <td>0.135135</td>\n", + " <td>0.683274</td>\n", + " <td>0.417972</td>\n", + " </tr>\n", + " <tr>\n", + " <td>75</td>\n", + " <td>0.006800</td>\n", + " <td>0.041090</td>\n", + " <td>0.537975</td>\n", + " <td>0.520316</td>\n", + " <td>0.480000</td>\n", + " <td>0.705660</td>\n", " <td>0</td>\n", + " <td>0.212871</td>\n", + " <td>0.530120</td>\n", + " <td>0.815236</td>\n", " <td>0</td>\n", + " <td>0.554386</td>\n", + " <td>0.444444</td>\n", " <td>0</td>\n", + " <td>0.127660</td>\n", + " <td>0.690987</td>\n", + " <td>0.135135</td>\n", + " <td>0.685765</td>\n", + " <td>0.402535</td>\n", + " </tr>\n", + " <tr>\n", + " <td>76</td>\n", + " <td>0.006800</td>\n", + " <td>0.041126</td>\n", + " <td>0.548896</td>\n", + " <td>0.529366</td>\n", + " <td>0.490000</td>\n", + " <td>0.694899</td>\n", " <td>0</td>\n", + " <td>0.197382</td>\n", + " <td>0.549254</td>\n", + " <td>0.817516</td>\n", " <td>0</td>\n", + " <td>0.534296</td>\n", + " <td>0.623188</td>\n", " <td>0</td>\n", + " <td>0.256410</td>\n", + " <td>0.695187</td>\n", + " <td>0.285714</td>\n", + " <td>0.698046</td>\n", + " <td>0.432510</td>\n", + " </tr>\n", + " <tr>\n", + " <td>77</td>\n", + " <td>0.006100</td>\n", + " <td>0.040495</td>\n", + " <td>0.548896</td>\n", + " <td>0.530149</td>\n", + " <td>0.437500</td>\n", + " <td>0.716228</td>\n", " <td>0</td>\n", + " <td>0.230140</td>\n", + " <td>0.539394</td>\n", + " <td>0.814840</td>\n", " <td>0</td>\n", + " <td>0.517986</td>\n", + " <td>0.544000</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.133333</td>\n", + " <td>0.700637</td>\n", + " <td>0.162162</td>\n", + " <td>0.679001</td>\n", + " <td>0.409642</td>\n", " </tr>\n", " <tr>\n", - " <td>94</td>\n", - " <td>0.046100</td>\n", - " <td>0.063550</td>\n", - " <td>0</td>\n", + " <td>78</td>\n", + " <td>0.006100</td>\n", + " <td>0.041209</td>\n", + " <td>0.545455</td>\n", + " <td>0.521585</td>\n", + " <td>0.464646</td>\n", + " <td>0.709797</td>\n", " <td>0</td>\n", + " <td>0.213583</td>\n", + " <td>0.540541</td>\n", + " <td>0.816432</td>\n", " <td>0</td>\n", + " <td>0.562712</td>\n", + " <td>0.580153</td>\n", " <td>0</td>\n", + " <td>0.245283</td>\n", + " <td>0.704762</td>\n", + " <td>0.250000</td>\n", + " <td>0.681901</td>\n", + " <td>0.427303</td>\n", + " </tr>\n", + " <tr>\n", + " <td>79</td>\n", + " <td>0.006100</td>\n", + " <td>0.040449</td>\n", + " <td>0.550000</td>\n", + " <td>0.536889</td>\n", + " <td>0.517073</td>\n", + " <td>0.705441</td>\n", " <td>0</td>\n", + " <td>0.257944</td>\n", + " <td>0.540541</td>\n", + " <td>0.816490</td>\n", " <td>0</td>\n", + " <td>0.535714</td>\n", + " <td>0.504348</td>\n", " <td>0</td>\n", + " <td>0.256410</td>\n", + " <td>0.682018</td>\n", + " <td>0.268293</td>\n", + " <td>0.686703</td>\n", + " <td>0.428616</td>\n", + " </tr>\n", + " <tr>\n", + " <td>80</td>\n", + " <td>0.006100</td>\n", + " <td>0.040739</td>\n", + " <td>0.550000</td>\n", + " <td>0.531274</td>\n", + " <td>0.504854</td>\n", + " <td>0.710945</td>\n", " <td>0</td>\n", + " <td>0.224272</td>\n", + " <td>0.538922</td>\n", + " <td>0.816136</td>\n", " <td>0</td>\n", + " <td>0.554054</td>\n", + " <td>0.539683</td>\n", " <td>0</td>\n", + " <td>0.295082</td>\n", + " <td>0.697131</td>\n", + " <td>0.225000</td>\n", + " <td>0.704846</td>\n", + " <td>0.430762</td>\n", + " </tr>\n", + " <tr>\n", + " <td>81</td>\n", + " <td>0.006100</td>\n", + " <td>0.040502</td>\n", + " <td>0.550000</td>\n", + " <td>0.534893</td>\n", + " <td>0.531401</td>\n", + " <td>0.714419</td>\n", " <td>0</td>\n", + " <td>0.226525</td>\n", + " <td>0.536145</td>\n", + " <td>0.817834</td>\n", " <td>0</td>\n", + " <td>0.536585</td>\n", + " <td>0.558140</td>\n", " <td>0</td>\n", + " <td>0.285714</td>\n", + " <td>0.698514</td>\n", + " <td>0.179487</td>\n", + " <td>0.692857</td>\n", + " <td>0.428907</td>\n", + " </tr>\n", + " <tr>\n", + " <td>82</td>\n", + " <td>0.006100</td>\n", + " <td>0.040987</td>\n", + " <td>0.550000</td>\n", + " <td>0.528686</td>\n", + " <td>0.524272</td>\n", + " <td>0.713886</td>\n", " <td>0</td>\n", + " <td>0.224272</td>\n", + " <td>0.537313</td>\n", + " <td>0.817361</td>\n", " <td>0</td>\n", + " <td>0.557823</td>\n", + " <td>0.602941</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.267857</td>\n", + " <td>0.690171</td>\n", + " <td>0.271605</td>\n", + " <td>0.690583</td>\n", + " <td>0.436048</td>\n", " </tr>\n", " <tr>\n", - " <td>95</td>\n", - " <td>0.046100</td>\n", - " <td>0.063591</td>\n", - " <td>0</td>\n", + " <td>83</td>\n", + " <td>0.006100</td>\n", + " <td>0.040906</td>\n", + " <td>0.550000</td>\n", + " <td>0.531458</td>\n", + " <td>0.524272</td>\n", + " <td>0.709074</td>\n", " <td>0</td>\n", + " <td>0.219405</td>\n", + " <td>0.531343</td>\n", + " <td>0.816814</td>\n", " <td>0</td>\n", + " <td>0.555932</td>\n", + " <td>0.623188</td>\n", " <td>0</td>\n", + " <td>0.302521</td>\n", + " <td>0.700529</td>\n", + " <td>0.225000</td>\n", + " <td>0.694568</td>\n", + " <td>0.436507</td>\n", + " </tr>\n", + " <tr>\n", + " <td>84</td>\n", + " <td>0.006100</td>\n", + " <td>0.040686</td>\n", + " <td>0.550000</td>\n", + " <td>0.531927</td>\n", + " <td>0.504854</td>\n", + " <td>0.722781</td>\n", " <td>0</td>\n", + " <td>0.224806</td>\n", + " <td>0.528190</td>\n", + " <td>0.817406</td>\n", " <td>0</td>\n", + " <td>0.560000</td>\n", + " <td>0.613139</td>\n", " <td>0</td>\n", + " <td>0.305085</td>\n", + " <td>0.699684</td>\n", + " <td>0.177215</td>\n", + " <td>0.700885</td>\n", + " <td>0.433498</td>\n", + " </tr>\n", + " <tr>\n", + " <td>85</td>\n", + " <td>0.005600</td>\n", + " <td>0.040808</td>\n", + " <td>0.550000</td>\n", + " <td>0.529550</td>\n", + " <td>0.567442</td>\n", + " <td>0.725615</td>\n", + " <td>0.007752</td>\n", + " <td>0.230029</td>\n", + " <td>0.521739</td>\n", + " <td>0.813990</td>\n", + " <td>0</td>\n", + " <td>0.560000</td>\n", + " <td>0.555556</td>\n", + " <td>0</td>\n", + " <td>0.295652</td>\n", + " <td>0.697034</td>\n", + " <td>0.240964</td>\n", + " <td>0.694420</td>\n", + " <td>0.436859</td>\n", + " </tr>\n", + " <tr>\n", + " <td>86</td>\n", + " <td>0.005600</td>\n", + " <td>0.040970</td>\n", + " <td>0.548896</td>\n", + " <td>0.531226</td>\n", + " <td>0.562212</td>\n", + " <td>0.710575</td>\n", + " <td>0.015444</td>\n", + " <td>0.227909</td>\n", + " <td>0.526627</td>\n", + " <td>0.814840</td>\n", + " <td>0</td>\n", + " <td>0.557823</td>\n", + " <td>0.558140</td>\n", + " <td>0</td>\n", + " <td>0.283186</td>\n", + " <td>0.694915</td>\n", + " <td>0.261905</td>\n", + " <td>0.690455</td>\n", + " <td>0.436510</td>\n", + " </tr>\n", + " <tr>\n", + " <td>87</td>\n", + " <td>0.005600</td>\n", + " <td>0.040977</td>\n", + " <td>0.555205</td>\n", + " <td>0.532056</td>\n", + " <td>0.571429</td>\n", + " <td>0.727605</td>\n", + " <td>0.007752</td>\n", + " <td>0.220488</td>\n", + " <td>0.538012</td>\n", + " <td>0.815753</td>\n", + " <td>0</td>\n", + " <td>0.565657</td>\n", + " <td>0.633094</td>\n", + " <td>0</td>\n", + " <td>0.275862</td>\n", + " <td>0.698718</td>\n", + " <td>0.282353</td>\n", + " <td>0.694643</td>\n", + " <td>0.444914</td>\n", + " </tr>\n", + " <tr>\n", + " <td>88</td>\n", + " <td>0.005600</td>\n", + " <td>0.040977</td>\n", + " <td>0.548287</td>\n", + " <td>0.530908</td>\n", + " <td>0.571429</td>\n", + " <td>0.730594</td>\n", " <td>0</td>\n", + " <td>0.223735</td>\n", + " <td>0.539589</td>\n", + " <td>0.815021</td>\n", " <td>0</td>\n", + " <td>0.571429</td>\n", + " <td>0.633094</td>\n", " <td>0</td>\n", + " <td>0.275862</td>\n", + " <td>0.698174</td>\n", + " <td>0.302326</td>\n", + " <td>0.699822</td>\n", + " <td>0.446267</td>\n", + " </tr>\n", + " <tr>\n", + " <td>89</td>\n", + " <td>0.005600</td>\n", + " <td>0.040858</td>\n", + " <td>0.538700</td>\n", + " <td>0.530516</td>\n", + " <td>0.571429</td>\n", + " <td>0.725275</td>\n", " <td>0</td>\n", + " <td>0.228654</td>\n", + " <td>0.531792</td>\n", + " <td>0.814828</td>\n", " <td>0</td>\n", + " <td>0.564784</td>\n", + " <td>0.575758</td>\n", " <td>0</td>\n", + " <td>0.293103</td>\n", + " <td>0.697326</td>\n", + " <td>0.285714</td>\n", + " <td>0.696509</td>\n", + " <td>0.440899</td>\n", + " </tr>\n", + " <tr>\n", + " <td>90</td>\n", + " <td>0.005600</td>\n", + " <td>0.041436</td>\n", + " <td>0.540373</td>\n", + " <td>0.525633</td>\n", + " <td>0.568807</td>\n", + " <td>0.717854</td>\n", " <td>0</td>\n", + " <td>0.217434</td>\n", + " <td>0.539589</td>\n", + " <td>0.814750</td>\n", " <td>0</td>\n", + " <td>0.573379</td>\n", + " <td>0.580153</td>\n", " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.265487</td>\n", + " <td>0.696774</td>\n", + " <td>0.305882</td>\n", + " <td>0.694946</td>\n", + " <td>0.440066</td>\n", + " </tr>\n", + " <tr>\n", + " <td>91</td>\n", + " <td>0.005600</td>\n", + " <td>0.041908</td>\n", + " <td>0.537500</td>\n", + " <td>0.523959</td>\n", + " <td>0.530806</td>\n", + " <td>0.696629</td>\n", + " <td>0.007752</td>\n", + " <td>0.225542</td>\n", + " <td>0.534125</td>\n", + " <td>0.817115</td>\n", + " <td>0</td>\n", + " <td>0.551724</td>\n", + " <td>0.623188</td>\n", + " <td>0</td>\n", + " <td>0.258065</td>\n", + " <td>0.692308</td>\n", + " <td>0.302326</td>\n", + " <td>0.690455</td>\n", + " <td>0.436968</td>\n", + " </tr>\n", + " <tr>\n", + " <td>92</td>\n", + " <td>0.005600</td>\n", + " <td>0.041728</td>\n", + " <td>0.532915</td>\n", + " <td>0.526646</td>\n", + " <td>0.572727</td>\n", + " <td>0.704461</td>\n", + " <td>0.015444</td>\n", + " <td>0.234053</td>\n", + " <td>0.527859</td>\n", + " <td>0.817039</td>\n", + " <td>0</td>\n", + " <td>0.549828</td>\n", + " <td>0.633094</td>\n", + " <td>0</td>\n", + " <td>0.294574</td>\n", + " <td>0.695745</td>\n", + " <td>0.321839</td>\n", + " <td>0.696191</td>\n", + " <td>0.445151</td>\n", + " </tr>\n", + " <tr>\n", + " <td>93</td>\n", + " <td>0.005300</td>\n", + " <td>0.041820</td>\n", + " <td>0.534591</td>\n", + " <td>0.525118</td>\n", + " <td>0.566210</td>\n", + " <td>0.707948</td>\n", + " <td>0.038023</td>\n", + " <td>0.234899</td>\n", + " <td>0.530259</td>\n", + " <td>0.817641</td>\n", + " <td>0</td>\n", + " <td>0.547945</td>\n", + " <td>0.613139</td>\n", + " <td>0</td>\n", + " <td>0.272000</td>\n", + " <td>0.698616</td>\n", + " <td>0.282353</td>\n", + " <td>0.693333</td>\n", + " <td>0.441380</td>\n", + " </tr>\n", + " <tr>\n", + " <td>94</td>\n", + " <td>0.005300</td>\n", + " <td>0.041968</td>\n", + " <td>0.534591</td>\n", + " <td>0.522508</td>\n", + " <td>0.546296</td>\n", + " <td>0.706320</td>\n", + " <td>0.037879</td>\n", + " <td>0.230991</td>\n", + " <td>0.530612</td>\n", + " <td>0.818245</td>\n", + " <td>0</td>\n", + " <td>0.547945</td>\n", + " <td>0.623188</td>\n", + " <td>0</td>\n", + " <td>0.243478</td>\n", + " <td>0.697228</td>\n", + " <td>0.285714</td>\n", + " <td>0.693805</td>\n", + " <td>0.438675</td>\n", + " </tr>\n", + " <tr>\n", + " <td>95</td>\n", + " <td>0.005300</td>\n", + " <td>0.041838</td>\n", + " <td>0.536278</td>\n", + " <td>0.522986</td>\n", + " <td>0.548837</td>\n", + " <td>0.706865</td>\n", + " <td>0.022901</td>\n", + " <td>0.229177</td>\n", + " <td>0.534884</td>\n", + " <td>0.817884</td>\n", + " <td>0</td>\n", + " <td>0.544218</td>\n", + " <td>0.623188</td>\n", + " <td>0</td>\n", + " <td>0.222222</td>\n", + " <td>0.696581</td>\n", + " <td>0.302326</td>\n", + " <td>0.697715</td>\n", + " <td>0.437879</td>\n", " </tr>\n", " <tr>\n", " <td>96</td>\n", - " <td>0.046100</td>\n", - " <td>0.063619</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.005300</td>\n", + " <td>0.042027</td>\n", + " <td>0.536278</td>\n", + " <td>0.521260</td>\n", + " <td>0.548837</td>\n", + " <td>0.708603</td>\n", + " <td>0.022989</td>\n", + " <td>0.226087</td>\n", + " <td>0.537572</td>\n", + " <td>0.818277</td>\n", + " <td>0</td>\n", + " <td>0.544218</td>\n", + " <td>0.623188</td>\n", + " <td>0</td>\n", + " <td>0.264463</td>\n", + " <td>0.694534</td>\n", + " <td>0.302326</td>\n", + " <td>0.694885</td>\n", + " <td>0.440220</td>\n", " </tr>\n", " <tr>\n", " <td>97</td>\n", - " <td>0.046100</td>\n", - " <td>0.063584</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.005300</td>\n", + " <td>0.042089</td>\n", + " <td>0.540881</td>\n", + " <td>0.522133</td>\n", + " <td>0.548837</td>\n", + " <td>0.707407</td>\n", + " <td>0.022989</td>\n", + " <td>0.224371</td>\n", + " <td>0.536023</td>\n", + " <td>0.818593</td>\n", + " <td>0</td>\n", + " <td>0.544218</td>\n", + " <td>0.623188</td>\n", + " <td>0</td>\n", + " <td>0.294574</td>\n", + " <td>0.694534</td>\n", + " <td>0.302326</td>\n", + " <td>0.695652</td>\n", + " <td>0.442233</td>\n", " </tr>\n", " <tr>\n", " <td>98</td>\n", - " <td>0.046100</td>\n", - " <td>0.063609</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.005300</td>\n", + " <td>0.042159</td>\n", + " <td>0.540881</td>\n", + " <td>0.521260</td>\n", + " <td>0.555556</td>\n", + " <td>0.703256</td>\n", + " <td>0.022989</td>\n", + " <td>0.223512</td>\n", + " <td>0.537572</td>\n", + " <td>0.818150</td>\n", + " <td>0</td>\n", + " <td>0.547945</td>\n", + " <td>0.623188</td>\n", + " <td>0</td>\n", + " <td>0.292308</td>\n", + " <td>0.694534</td>\n", + " <td>0.302326</td>\n", + " <td>0.691622</td>\n", + " <td>0.442194</td>\n", " </tr>\n", " <tr>\n", " <td>99</td>\n", - " <td>0.046100</td>\n", - " <td>0.063606</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.005300</td>\n", + " <td>0.042250</td>\n", + " <td>0.539185</td>\n", + " <td>0.520677</td>\n", + " <td>0.555556</td>\n", + " <td>0.703256</td>\n", + " <td>0.022989</td>\n", + " <td>0.222652</td>\n", + " <td>0.533333</td>\n", + " <td>0.818356</td>\n", + " <td>0</td>\n", + " <td>0.549828</td>\n", + " <td>0.613139</td>\n", + " <td>0</td>\n", + " <td>0.294574</td>\n", + " <td>0.694534</td>\n", + " <td>0.302326</td>\n", + " <td>0.689964</td>\n", + " <td>0.441273</td>\n", " </tr>\n", " <tr>\n", " <td>100</td>\n", - " <td>0.046100</td>\n", - " <td>0.063604</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " <td>0.000000</td>\n", + " <td>0.005100</td>\n", + " <td>0.042234</td>\n", + " <td>0.539185</td>\n", + " <td>0.520969</td>\n", + " <td>0.555556</td>\n", + " <td>0.703256</td>\n", + " <td>0.022989</td>\n", + " <td>0.221684</td>\n", + " <td>0.537572</td>\n", + " <td>0.818498</td>\n", + " <td>0</td>\n", + " <td>0.547945</td>\n", + " <td>0.613139</td>\n", + " <td>0</td>\n", + " <td>0.296875</td>\n", + " <td>0.694534</td>\n", + " <td>0.302326</td>\n", + " <td>0.689346</td>\n", + " <td>0.441492</td>\n", " </tr>\n", " </tbody>\n", "</table><p>" @@ -2722,10 +2716,10 @@ { "data": { "text/plain": [ - "TrainOutput(global_step=1300, training_loss=0.04921680707197923, metrics={'train_runtime': 1128.6878, 'train_samples_per_second': 18.251, 'train_steps_per_second': 1.152, 'total_flos': 9566168508518400.0, 'train_loss': 0.04921680707197923, 'epoch': 100.0})" + "TrainOutput(global_step=1300, training_loss=0.03190959164729485, metrics={'train_runtime': 431.9355, 'train_samples_per_second': 47.692, 'train_steps_per_second': 3.01, 'total_flos': 2691721580236800.0, 'train_loss': 0.03190959164729485, 'epoch': 100.0})" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -2749,13 +2743,231 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "89c997e6a944bc70", "metadata": {}, "outputs": [], "source": [ - "trainer.model.save_pretrained(\"../../../models/Fine-tuned_CamemBERT-large\")" + "trainer.model.save_pretrained(\"../../models/Fine-tuned_CamemBERT-base\")" + ] + }, + { + "cell_type": "markdown", + "id": "05f2cf51-2a76-4de6-9b22-af7dda1eb805", + "metadata": {}, + "source": [ + "# Inference" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "e48a67b7-814d-46d5-a079-fafc5b6adf86", + "metadata": {}, + "outputs": [], + "source": [ + "model = RobertaForSpanCategorization.from_pretrained(\"../../models/Fine-tuned_CamemBERT-base\")\n", + "tokenizer = AutoTokenizer.from_pretrained(modelId)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "4cb75af5-234f-4863-94f8-45a364e1b877", + "metadata": {}, + "outputs": [], + "source": [ + "def get_offsets_and_predicted_tags(example: str, model, tokenizer, threshold=0):\n", + " \"\"\"\n", + " Get prediction of model on example, using tokenizer\n", + " Args:\n", + " - example (str): The input text\n", + " - model: The span categorizer\n", + " - tokenizer: The tokenizer\n", + " - threshold: The threshold to decide whether the token should belong to the label. Default to 0, which corresponds to probability 0.5.\n", + " Returns:\n", + " - List of (token, tags, offset) for each token.\n", + " \"\"\"\n", + " # Tokenize the sentence to retrieve the tokens and offset mappings\n", + " raw_encoded_example = tokenizer(example, return_offsets_mapping=True)\n", + " encoded_example = tokenizer(example, return_tensors=\"pt\")\n", + " \n", + " # Call the model. The output LxK-tensor where L is the number of tokens, K is the number of classes\n", + " out = model(**encoded_example)[\"logits\"][0]\n", + " \n", + " # We assign to each token the classes whose logit is positive\n", + " predicted_tags = [[i for i, l in enumerate(logit) if l > threshold] for logit in out]\n", + " \n", + " return [{\"token\": token, \"tags\": tag, \"offset\": offset} for (token, tag, offset) \n", + " in zip(tokenizer.batch_decode(raw_encoded_example[\"input_ids\"]), \n", + " predicted_tags, \n", + " raw_encoded_example[\"offset_mapping\"])]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "314d7a28-ef8b-4367-8e6d-79a55951fcec", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "<s> - []\n", + "afin - []\n", + "de - []\n", + "vérifier - []\n", + "le - []\n", + "kilométrage - []\n", + " - []\n", + ", - []\n", + "pour - []\n", + "les - []\n", + "véhicules - [8]\n", + "équipés - [7, 8]\n", + "d - [8]\n", + " - [8]\n", + "' - [8]\n", + "un - [8]\n", + "compteur - [8]\n", + "kilo - [8]\n", + "métrique - [8]\n", + " - []\n", + ", - []\n", + "les - []\n", + "informations - [6]\n", + "communiquées - [7]\n", + "lors - [15]\n", + "du - [16]\n", + "précédent - [16]\n", + "contrôle - [16]\n", + "technique - [16]\n", + "sont - [1]\n", + "mises - [2]\n", + "à - [2]\n", + "la - [2]\n", + "disposition - [2]\n", + "des - [2]\n", + "organismes - [2, 4]\n", + "de - [2, 4]\n", + "contrôle - [2, 4]\n", + "technique - [2, 4]\n", + "dès - [7]\n", + "qu - [8]\n", + " - [8]\n", + "' - [8]\n", + "elles - [8]\n", + "sont - [8]\n", + "disponibles - [8]\n", + "par - [8]\n", + "voie - [8]\n", + "électronique - [8]\n", + " - []\n", + ". - []\n", + "</s> - []\n" + ] + } + ], + "source": [ + "example = \"afin de vérifier le kilométrage , pour les véhicules équipés d ' un compteur kilométrique , les informations communiquées lors du précédent contrôle technique sont mises à la disposition des organismes de contrôle technique dès qu ' elles sont disponibles par voie électronique .\"\n", + "for item in get_offsets_and_predicted_tags(example, model, tokenizer):\n", + " print(f\"\"\"{item[\"token\"]:15} - {item[\"tags\"]}\"\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "b0164373-ee70-4d63-a0c2-ac2197b37b22", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "afin de vérifier le kilométrage , pour les véhicules équipés d ' un compteur kilométrique , les informations communiquées lors du précédent contrôle technique sont mises à la disposition des organismes de contrôle technique dès qu ' elles sont disponibles par voie électronique .\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'start': 42, 'end': 52, 'tag': 'condition', 'text': ' véhicules'},\n", + " {'start': 52,\n", + " 'end': 89,\n", + " 'tag': 'condition',\n", + " 'text': \" équipés d ' un compteur kilométrique\"},\n", + " {'start': 95, 'end': 108, 'tag': 'artifact', 'text': ' informations'},\n", + " {'start': 108, 'end': 121, 'tag': 'condition', 'text': ' communiquées'},\n", + " {'start': 121,\n", + " 'end': 158,\n", + " 'tag': 'time',\n", + " 'text': ' lors du précédent contrôle technique'},\n", + " {'start': 158,\n", + " 'end': 223,\n", + " 'tag': 'action',\n", + " 'text': ' sont mises à la disposition des organismes de contrôle technique'},\n", + " {'start': 190,\n", + " 'end': 223,\n", + " 'tag': 'actor',\n", + " 'text': ' organismes de contrôle technique'},\n", + " {'start': 223,\n", + " 'end': 277,\n", + " 'tag': 'condition',\n", + " 'text': \" dès qu ' elles sont disponibles par voie électronique\"}]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def get_tagged_groups(example: str, model, tokenizer):\n", + " \"\"\"\n", + " Get prediction of model on example, using tokenizer\n", + " Returns:\n", + " - List of spans under offset format {\"start\": ..., \"end\": ..., \"tag\": ...}, sorted by start, end then tag.\n", + " \"\"\"\n", + " offsets_and_tags = get_offsets_and_predicted_tags(example, model, tokenizer)\n", + " predicted_offsets = {l: [] for l in tag2id}\n", + " last_token_tags = []\n", + " for item in offsets_and_tags:\n", + " (start, end), tags = item[\"offset\"], item[\"tags\"]\n", + " \n", + " for label_id in tags:\n", + " label = id2label[label_id]\n", + " tag = label[2:] # \"I-PER\" => \"PER\"\n", + " if label.startswith(\"B-\"):\n", + " predicted_offsets[tag].append({\"start\": start, \"end\": end})\n", + " elif label.startswith(\"I-\"):\n", + " # If \"B-\" and \"I-\" both appear in the same tag, ignore as we already processed it\n", + " if label2id[f\"B-{tag}\"] in tags:\n", + " continue\n", + " \n", + " if label_id not in last_token_tags and label2id[f\"B-{tag}\"] not in last_token_tags:\n", + " predicted_offsets[tag].append({\"start\": start, \"end\": end})\n", + " else:\n", + " predicted_offsets[tag][-1][\"end\"] = end\n", + " \n", + " last_token_tags = tags\n", + " \n", + " flatten_predicted_offsets = [{**v, \"tag\": k, \"text\": example[v[\"start\"]:v[\"end\"]]} \n", + " for k, v_list in predicted_offsets.items() for v in v_list if v[\"end\"] - v[\"start\"] >= 3]\n", + " flatten_predicted_offsets = sorted(flatten_predicted_offsets, \n", + " key = lambda row: (row[\"start\"], row[\"end\"], row[\"tag\"]))\n", + " return flatten_predicted_offsets\n", + "\n", + "print(example)\n", + "get_tagged_groups(example, model, tokenizer)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54213be5-8221-40a2-ac60-04670d83babc", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {