{
  "id": 394302,
  "title": "Result of Late Submission: 2D-CNN + XGB + 1D-CNN (Private LB: 0.78703)",
  "url": "/competitions/nfl-player-contact-detection/discussion/394302",
  "author_name": "Bilzard",
  "post_date": "2023-03-13T02:15:34.780000",
  "votes": 15,
  "comment_count": 2,
  "views": 0,
  "content": "<p>I will share experiment result after competition (LB: 0.78703) for future reference. My original solution is available <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391607\" target=\"_blank\">here</a> (Private LB: 0.76741).</p>\n<p>First of all, I appreciate all the solution write-ups by others. I get much insight from their solutions. For example, giving numeric features on CNN with isolated channels is from Team Hidrogen's solution, and using player-anyone &amp; player-ground contact information is adopted from Qishen and Bo's solution (and from 18th place team).</p>\n<h2>What I Did on the Late Submissions</h2>\n<ol>\n<li>use <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393400\" target=\"_blank\">less-player-duplicated fold split</a></li>\n<li>5-channel 2D-CNN (channel design is the same as <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391740\" target=\"_blank\">Team Hydrogen's solution</a> except for not using 2.5D)</li>\n<li>add group feature &amp; lag feature of 1st/2nd stage prediction score (+group +lag)</li>\n<li>add player-anyone contact feature (+group +lag)</li>\n<li>add player-ground contact feature on player-player model (+group +lag)</li>\n<li>apply player-player sequence-level pruning</li>\n<li>add 4th-stage 1D-CNN</li>\n</ol>\n<h2>Discussion</h2>\n<p>5-channel 2D-CNN gave me notable boost from my original architecture: 3-channel 2.5D-CNN (+0.54%) it also much reduces train/scoring time.</p>\n<p>One of the largest gains are from strictly split CV. As I already wrote on <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393570\" target=\"_blank\">the post</a>, the fold split with less player duplication drastically improves CV/LB correlation. Thanks to this fold split, I can boost LB further with additional features on the 3rd stage (+0.87%).</p>\n<p>Sequence level pruning (+0.16%) and 1D-CNN (+0.26%) boosted score further although there are no gain on CV. One of the possible reason is the CV I used is too strict and test data may contain few players that also appeared on train data.</p>\n<h2>Tricks to speed up scoring time</h2>\n<p>I also reduced scoring time by the following tricks.</p>\n<ul>\n<li>use 2D CNN instead of 2.5D (3-4h -&gt; 2h)</li>\n<li>use <code>@lru_cache</code> when loading image (2h -&gt; 1h)</li>\n<li>use numpy array instead of JPEG (1h -&gt; 45 min)</li>\n</ul>\n<h2>What didn't worked</h2>\n<ul>\n<li>using prediction score of additional CNN which trains labels with player-anyone contact (it only scores tie comparing to the group features extracted from player-player contact CNN)</li>\n<li>2.5D-CNN (it only tie scores to 2D-CNN)</li>\n</ul>\n<h2>Score Results</h2>\n<table>\n<thead>\n<tr>\n<th>Submissions</th>\n<th>CV</th>\n<th>Public LB</th>\n<th>Private LB</th>\n<th>architecture</th>\n<th>description</th>\n<th>#features(p2g)</th>\n<th>#features(p2g)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>0.7950</td>\n<td>0.7701</td>\n<td>0.7738</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>stage 1 feats. + stage-2 pred score</td>\n<td>1032</td>\n<td>1032</td>\n</tr>\n<tr>\n<td>2</td>\n<td>0.8038</td>\n<td>0.7806</td>\n<td>0.7773</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#1 + lag &amp; group feats. of stage-2 pred score</td>\n<td>1057</td>\n<td>1057</td>\n</tr>\n<tr>\n<td>3</td>\n<td>0.8035</td>\n<td>0.7788</td>\n<td>0.7799</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#2 + lag &amp; group feats. of stage-1 pred score</td>\n<td>1083</td>\n<td>1083</td>\n</tr>\n<tr>\n<td>4</td>\n<td>0.8039</td>\n<td>0.7799</td>\n<td>0.7782</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#3 + stage 2 p2anyone feats (+group)</td>\n<td>1087</td>\n<td>1087</td>\n</tr>\n<tr>\n<td>5</td>\n<td>0.8040</td>\n<td>0.7800</td>\n<td>0.7808</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#3 + stage 2 p2anyone feats (+group +lag)</td>\n<td>1104</td>\n<td>1104</td>\n</tr>\n<tr>\n<td>6</td>\n<td>0.8055</td>\n<td>0.7815</td>\n<td>0.7820</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#5 + stage 1 p2anyone feats (+group)</td>\n<td>1108</td>\n<td>1108</td>\n</tr>\n<tr>\n<td>7</td>\n<td>0.8053</td>\n<td>0.7808</td>\n<td>0.7819</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#5 + stage 1 p2anyone feats (+group +lag)</td>\n<td>1125</td>\n<td>1125</td>\n</tr>\n<tr>\n<td>8</td>\n<td>0.8064</td>\n<td>0.7827</td>\n<td>0.7825</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#6 + p2g feat on p2p model (+group +lag)</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n<tr>\n<td>9</td>\n<td>0.8051</td>\n<td>0.78368</td>\n<td>0.78412</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#8 + sequence level pruning</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n<tr>\n<td>10</td>\n<td>0.8053</td>\n<td>0.78687</td>\n<td>0.78672</td>\n<td>XGB + 2D-CNN(5-channel) + XGB + 1D-CNN</td>\n<td>#9 + 4th stage (1D-CNN; input stages 1-3 output)</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n<tr>\n<td>11</td>\n<td>0.80577</td>\n<td>0.78713</td>\n<td>0.78703</td>\n<td>XGB + 2D-CNN(5-channel) + XGB + 1D-CNN</td>\n<td>#9 + 4th stage (1D-CNN; input only stage 3 output)</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n</tbody>\n</table>",
  "messages": [
    {
      "id": 2179203,
      "postDate": "2023-03-13T02:15:34.780Z",
      "content": "<p>I will share experiment result after competition (LB: 0.78703) for future reference. My original solution is available <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391607\" target=\"_blank\">here</a> (Private LB: 0.76741).</p>\n<p>First of all, I appreciate all the solution write-ups by others. I get much insight from their solutions. For example, giving numeric features on CNN with isolated channels is from Team Hidrogen's solution, and using player-anyone &amp; player-ground contact information is adopted from Qishen and Bo's solution (and from 18th place team).</p>\n<h2>What I Did on the Late Submissions</h2>\n<ol>\n<li>use <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393400\" target=\"_blank\">less-player-duplicated fold split</a></li>\n<li>5-channel 2D-CNN (channel design is the same as <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391740\" target=\"_blank\">Team Hydrogen's solution</a> except for not using 2.5D)</li>\n<li>add group feature &amp; lag feature of 1st/2nd stage prediction score (+group +lag)</li>\n<li>add player-anyone contact feature (+group +lag)</li>\n<li>add player-ground contact feature on player-player model (+group +lag)</li>\n<li>apply player-player sequence-level pruning</li>\n<li>add 4th-stage 1D-CNN</li>\n</ol>\n<h2>Discussion</h2>\n<p>5-channel 2D-CNN gave me notable boost from my original architecture: 3-channel 2.5D-CNN (+0.54%) it also much reduces train/scoring time.</p>\n<p>One of the largest gains are from strictly split CV. As I already wrote on <a href=\"https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393570\" target=\"_blank\">the post</a>, the fold split with less player duplication drastically improves CV/LB correlation. Thanks to this fold split, I can boost LB further with additional features on the 3rd stage (+0.87%).</p>\n<p>Sequence level pruning (+0.16%) and 1D-CNN (+0.26%) boosted score further although there are no gain on CV. One of the possible reason is the CV I used is too strict and test data may contain few players that also appeared on train data.</p>\n<h2>Tricks to speed up scoring time</h2>\n<p>I also reduced scoring time by the following tricks.</p>\n<ul>\n<li>use 2D CNN instead of 2.5D (3-4h -&gt; 2h)</li>\n<li>use <code>@lru_cache</code> when loading image (2h -&gt; 1h)</li>\n<li>use numpy array instead of JPEG (1h -&gt; 45 min)</li>\n</ul>\n<h2>What didn't worked</h2>\n<ul>\n<li>using prediction score of additional CNN which trains labels with player-anyone contact (it only scores tie comparing to the group features extracted from player-player contact CNN)</li>\n<li>2.5D-CNN (it only tie scores to 2D-CNN)</li>\n</ul>\n<h2>Score Results</h2>\n<table>\n<thead>\n<tr>\n<th>Submissions</th>\n<th>CV</th>\n<th>Public LB</th>\n<th>Private LB</th>\n<th>architecture</th>\n<th>description</th>\n<th>#features(p2g)</th>\n<th>#features(p2g)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>0.7950</td>\n<td>0.7701</td>\n<td>0.7738</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>stage 1 feats. + stage-2 pred score</td>\n<td>1032</td>\n<td>1032</td>\n</tr>\n<tr>\n<td>2</td>\n<td>0.8038</td>\n<td>0.7806</td>\n<td>0.7773</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#1 + lag &amp; group feats. of stage-2 pred score</td>\n<td>1057</td>\n<td>1057</td>\n</tr>\n<tr>\n<td>3</td>\n<td>0.8035</td>\n<td>0.7788</td>\n<td>0.7799</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#2 + lag &amp; group feats. of stage-1 pred score</td>\n<td>1083</td>\n<td>1083</td>\n</tr>\n<tr>\n<td>4</td>\n<td>0.8039</td>\n<td>0.7799</td>\n<td>0.7782</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#3 + stage 2 p2anyone feats (+group)</td>\n<td>1087</td>\n<td>1087</td>\n</tr>\n<tr>\n<td>5</td>\n<td>0.8040</td>\n<td>0.7800</td>\n<td>0.7808</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#3 + stage 2 p2anyone feats (+group +lag)</td>\n<td>1104</td>\n<td>1104</td>\n</tr>\n<tr>\n<td>6</td>\n<td>0.8055</td>\n<td>0.7815</td>\n<td>0.7820</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#5 + stage 1 p2anyone feats (+group)</td>\n<td>1108</td>\n<td>1108</td>\n</tr>\n<tr>\n<td>7</td>\n<td>0.8053</td>\n<td>0.7808</td>\n<td>0.7819</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#5 + stage 1 p2anyone feats (+group +lag)</td>\n<td>1125</td>\n<td>1125</td>\n</tr>\n<tr>\n<td>8</td>\n<td>0.8064</td>\n<td>0.7827</td>\n<td>0.7825</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#6 + p2g feat on p2p model (+group +lag)</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n<tr>\n<td>9</td>\n<td>0.8051</td>\n<td>0.78368</td>\n<td>0.78412</td>\n<td>XGB + 2D-CNN(5-channel) + XGB</td>\n<td>#8 + sequence level pruning</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n<tr>\n<td>10</td>\n<td>0.8053</td>\n<td>0.78687</td>\n<td>0.78672</td>\n<td>XGB + 2D-CNN(5-channel) + XGB + 1D-CNN</td>\n<td>#9 + 4th stage (1D-CNN; input stages 1-3 output)</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n<tr>\n<td>11</td>\n<td>0.80577</td>\n<td>0.78713</td>\n<td>0.78703</td>\n<td>XGB + 2D-CNN(5-channel) + XGB + 1D-CNN</td>\n<td>#9 + 4th stage (1D-CNN; input only stage 3 output)</td>\n<td>1108</td>\n<td>1130</td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "I will share experiment result after competition (LB: 0.78703) for future reference. My original solution is available [here](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391607) (Private LB: 0.76741).\n\nFirst of all, I appreciate all the solution write-ups by others. I get much insight from their solutions. For example, giving numeric features on CNN with isolated channels is from Team Hidrogen's solution, and using player-anyone & player-ground contact information is adopted from Qishen and Bo's solution (and from 18th place team).\n\n## What I Did on the Late Submissions\n\n1. use [less-player-duplicated fold split](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393400)\n2. 5-channel 2D-CNN (channel design is the same as [Team Hydrogen's solution](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391740) except for not using 2.5D)\n3. add group feature & lag feature of 1st/2nd stage prediction score (+group +lag)\n4. add player-anyone contact feature (+group +lag)\n5. add player-ground contact feature on player-player model (+group +lag)\n6. apply player-player sequence-level pruning\n6. add 4th-stage 1D-CNN\n\n## Discussion\n\n5-channel 2D-CNN gave me notable boost from my original architecture: 3-channel 2.5D-CNN (+0.54%) it also much reduces train/scoring time.\n\nOne of the largest gains are from strictly split CV. As I already wrote on [the post](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393570), the fold split with less player duplication drastically improves CV/LB correlation. Thanks to this fold split, I can boost LB further with additional features on the 3rd stage (+0.87%).\n\nSequence level pruning (+0.16%) and 1D-CNN (+0.26%) boosted score further although there are no gain on CV. One of the possible reason is the CV I used is too strict and test data may contain few players that also appeared on train data.\n\n## Tricks to speed up scoring time\n\nI also reduced scoring time by the following tricks.\n\n- use 2D CNN instead of 2.5D (3-4h -> 2h)\n- use `@lru_cache` when loading image (2h -> 1h)\n- use numpy array instead of JPEG (1h -> 45 min)\n\n## What didn't worked\n\n* using prediction score of additional CNN which trains labels with player-anyone contact (it only scores tie comparing to the group features extracted from player-player contact CNN)\n* 2.5D-CNN (it only tie scores to 2D-CNN)\n\n## Score Results\n\n| Submissions |      CV | Public LB | Private LB | architecture                           | description                                   | #features(p2g) | #features(p2g) |\n|------------:|--------:|----------:|-----------:|----------------------------------------|-----------------------------------------------|---------------:|---------------:|\n|           1 |  0.7950 |    0.7701 |     0.7738 | XGB + 2D-CNN(5-channel) + XGB          | stage 1 feats. + stage-2 pred score           |           1032 |           1032 |\n|           2 |  0.8038 |    0.7806 |     0.7773 | XGB + 2D-CNN(5-channel) + XGB          | #1 + lag & group feats. of stage-2 pred score |           1057 |           1057 |\n|           3 |  0.8035 |    0.7788 |     0.7799 | XGB + 2D-CNN(5-channel) + XGB          | #2 + lag & group feats. of stage-1 pred score |           1083 |           1083 |\n|           4 |  0.8039 |    0.7799 |     0.7782 | XGB + 2D-CNN(5-channel) + XGB          | #3 + stage 2 p2anyone feats (+group)          |           1087 |           1087 |\n|           5 |  0.8040 |    0.7800 |     0.7808 | XGB + 2D-CNN(5-channel) + XGB          | #3 + stage 2 p2anyone feats (+group +lag)     |           1104 |           1104 |\n|           6 |  0.8055 |    0.7815 |     0.7820 | XGB + 2D-CNN(5-channel) + XGB          | #5 + stage 1 p2anyone feats (+group)          |           1108 |           1108 |\n|           7 |  0.8053 |    0.7808 |     0.7819 | XGB + 2D-CNN(5-channel) + XGB          | #5 + stage 1 p2anyone feats (+group +lag)     |           1125 |           1125 |\n|           8 |  0.8064 |    0.7827 |     0.7825 | XGB + 2D-CNN(5-channel) + XGB          | #6 + p2g feat on p2p model (+group +lag)      |           1108 |           1130 |\n|           9 |  0.8051 |   0.78368 |    0.78412 | XGB + 2D-CNN(5-channel) + XGB          | #8 + sequence level pruning                   |           1108 |           1130 |\n|          10 |  0.8053 |   0.78687 |    0.78672 | XGB + 2D-CNN(5-channel) + XGB + 1D-CNN | #9 + 4th stage (1D-CNN; input stages 1-3 output)      |           1108 |           1130 |\n|          11 | 0.80577 |   0.78713 |    0.78703 | XGB + 2D-CNN(5-channel) + XGB + 1D-CNN | #9 + 4th stage (1D-CNN; input only stage 3 output)      |           1108 |           1130 |\n",
      "votes": 15
    },
    {
      "id": 2180664,
      "postDate": "2023-03-14T02:36:28.167Z",
      "content": "<p>It is very nice that you could share more experiment after the competition finished!</p>",
      "rawMarkdown": "It is very nice that you could share more experiment after the competition finished!",
      "replies": [
        {
          "id": 2180718,
          "postDate": "2023-03-14T03:45:38.677Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 2180664,
      "author_name": "HongCheng",
      "author_url": "",
      "post_date": "2023-03-14T02:36:28.167000",
      "content": "<p>It is very nice that you could share more experiment after the competition finished!</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2180718,
          "author_name": "",
          "author_url": "",
          "post_date": "2023-03-14T03:45:38.677000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2179203": "I will share experiment result after competition (LB: 0.78703) for future reference. My original solution is available [here](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391607) (Private LB: 0.76741).\n\nFirst of all, I appreciate all the solution write-ups by others. I get much insight from their solutions. For example, giving numeric features on CNN with isolated channels is from Team Hidrogen's solution, and using player-anyone & player-ground contact information is adopted from Qishen and Bo's solution (and from 18th place team).\n\n## What I Did on the Late Submissions\n\n1. use [less-player-duplicated fold split](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393400)\n2. 5-channel 2D-CNN (channel design is the same as [Team Hydrogen's solution](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/391740) except for not using 2.5D)\n3. add group feature & lag feature of 1st/2nd stage prediction score (+group +lag)\n4. add player-anyone contact feature (+group +lag)\n5. add player-ground contact feature on player-player model (+group +lag)\n6. apply player-player sequence-level pruning\n6. add 4th-stage 1D-CNN\n\n## Discussion\n\n5-channel 2D-CNN gave me notable boost from my original architecture: 3-channel 2.5D-CNN (+0.54%) it also much reduces train/scoring time.\n\nOne of the largest gains are from strictly split CV. As I already wrote on [the post](https://www.kaggle.com/competitions/nfl-player-contact-detection/discussion/393570), the fold split with less player duplication drastically improves CV/LB correlation. Thanks to this fold split, I can boost LB further with additional features on the 3rd stage (+0.87%).\n\nSequence level pruning (+0.16%) and 1D-CNN (+0.26%) boosted score further although there are no gain on CV. One of the possible reason is the CV I used is too strict and test data may contain few players that also appeared on train data.\n\n## Tricks to speed up scoring time\n\nI also reduced scoring time by the following tricks.\n\n- use 2D CNN instead of 2.5D (3-4h -> 2h)\n- use `@lru_cache` when loading image (2h -> 1h)\n- use numpy array instead of JPEG (1h -> 45 min)\n\n## What didn't worked\n\n* using prediction score of additional CNN which trains labels with player-anyone contact (it only scores tie comparing to the group features extracted from player-player contact CNN)\n* 2.5D-CNN (it only tie scores to 2D-CNN)\n\n## Score Results\n\n| Submissions |      CV | Public LB | Private LB | architecture                           | description                                   | #features(p2g) | #features(p2g) |\n|------------:|--------:|----------:|-----------:|----------------------------------------|-----------------------------------------------|---------------:|---------------:|\n|           1 |  0.7950 |    0.7701 |     0.7738 | XGB + 2D-CNN(5-channel) + XGB          | stage 1 feats. + stage-2 pred score           |           1032 |           1032 |\n|           2 |  0.8038 |    0.7806 |     0.7773 | XGB + 2D-CNN(5-channel) + XGB          | #1 + lag & group feats. of stage-2 pred score |           1057 |           1057 |\n|           3 |  0.8035 |    0.7788 |     0.7799 | XGB + 2D-CNN(5-channel) + XGB          | #2 + lag & group feats. of stage-1 pred score |           1083 |           1083 |\n|           4 |  0.8039 |    0.7799 |     0.7782 | XGB + 2D-CNN(5-channel) + XGB          | #3 + stage 2 p2anyone feats (+group)          |           1087 |           1087 |\n|           5 |  0.8040 |    0.7800 |     0.7808 | XGB + 2D-CNN(5-channel) + XGB          | #3 + stage 2 p2anyone feats (+group +lag)     |           1104 |           1104 |\n|           6 |  0.8055 |    0.7815 |     0.7820 | XGB + 2D-CNN(5-channel) + XGB          | #5 + stage 1 p2anyone feats (+group)          |           1108 |           1108 |\n|           7 |  0.8053 |    0.7808 |     0.7819 | XGB + 2D-CNN(5-channel) + XGB          | #5 + stage 1 p2anyone feats (+group +lag)     |           1125 |           1125 |\n|           8 |  0.8064 |    0.7827 |     0.7825 | XGB + 2D-CNN(5-channel) + XGB          | #6 + p2g feat on p2p model (+group +lag)      |           1108 |           1130 |\n|           9 |  0.8051 |   0.78368 |    0.78412 | XGB + 2D-CNN(5-channel) + XGB          | #8 + sequence level pruning                   |           1108 |           1130 |\n|          10 |  0.8053 |   0.78687 |    0.78672 | XGB + 2D-CNN(5-channel) + XGB + 1D-CNN | #9 + 4th stage (1D-CNN; input stages 1-3 output)      |           1108 |           1130 |\n|          11 | 0.80577 |   0.78713 |    0.78703 | XGB + 2D-CNN(5-channel) + XGB + 1D-CNN | #9 + 4th stage (1D-CNN; input only stage 3 output)      |           1108 |           1130 |\n",
    "2180664": "It is very nice that you could share more experiment after the competition finished!"
  }
}