{
  "id": 85370,
  "title": "simple trick to add to the high score kernels",
  "url": "/competitions/vsb-power-line-fault-detection/discussion/85370",
  "author_name": "",
  "post_date": "2019-03-23T15:30:09.046339200Z",
  "votes": 3,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Hello everyone!</p>\n\n<p>Congratulation for all the winners of this competition! This competition was quite hard in terms of getting a good validation, since there is a great difference between train and test, as many of you have observed. I found many discussion talking about the Adversarial Validation and this helped me a lot to get this position, so I'd like to share the simple trick I used.</p>\n\n<p>I created a small validation set composed of around 500 samples (since one sample is obtained by three phases, that number corresponds to 1500 signal_ids) using Adversarial Validation and used that for model checkpoint for NN based model.</p>\n\n<p>So the only change from the <a href=\"https://www.kaggle.com/braquino/5-fold-lstm-attention-fully-commented-0-694\">public 0.694 kernel</a> was train checking with this validation set and seed averaging, which lead me to obtain Public 0.716/ Private 0.643 (Public 0.702 / Private 0.679 if I add highpass filter and DWT denoising which is used in <a href=\"https://www.kaggle.com/jackvial/dwt-signal-denoising\">this kernel</a>, but I couldn't choose this submission).</p>",
  "messages": [
    {
      "id": "497458",
      "postDate": "03/23/2019 15:30:09",
      "content": "<p>Hello everyone!</p>\n\n<p>Congratulation for all the winners of this competition! This competition was quite hard in terms of getting a good validation, since there is a great difference between train and test, as many of you have observed. I found many discussion talking about the Adversarial Validation and this helped me a lot to get this position, so I'd like to share the simple trick I used.</p>\n\n<p>I created a small validation set composed of around 500 samples (since one sample is obtained by three phases, that number corresponds to 1500 signal_ids) using Adversarial Validation and used that for model checkpoint for NN based model.</p>\n\n<p>So the only change from the <a href=\"https://www.kaggle.com/braquino/5-fold-lstm-attention-fully-commented-0-694\">public 0.694 kernel</a> was train checking with this validation set and seed averaging, which lead me to obtain Public 0.716/ Private 0.643 (Public 0.702 / Private 0.679 if I add highpass filter and DWT denoising which is used in <a href=\"https://www.kaggle.com/jackvial/dwt-signal-denoising\">this kernel</a>, but I couldn't choose this submission).</p>",
      "rawMarkdown": "Hello everyone!\n\nCongratulation for all the winners of this competition! This competition was quite hard in terms of getting a good validation, since there is a great difference between train and test, as many of you have observed. I found many discussion talking about the Adversarial Validation and this helped me a lot to get this position, so I'd like to share the simple trick I used.\n\nI created a small validation set composed of around 500 samples (since one sample is obtained by three phases, that number corresponds to 1500 signal_ids) using Adversarial Validation and used that for model checkpoint for NN based model.\n\nSo the only change from the [public 0.694 kernel](https://www.kaggle.com/braquino/5-fold-lstm-attention-fully-commented-0-694) was train checking with this validation set and seed averaging, which lead me to obtain Public 0.716/ Private 0.643 (Public 0.702 / Private 0.679 if I add highpass filter and DWT denoising which is used in [this kernel](https://www.kaggle.com/jackvial/dwt-signal-denoising), but I couldn't choose this submission).",
      "votes": null
    },
    {
      "id": "498975",
      "postDate": "03/24/2019 06:13:32",
      "content": "<p>Did you use 500 samples as a validation set and other signals as a train set?\nDid you use folds for cross validation?</p>",
      "rawMarkdown": "Did you use 500 samples as a validation set and other signals as a train set?\nDid you use folds for cross validation?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 498975,
      "author_name": "sergeyzlobin",
      "author_url": "",
      "post_date": "03/24/2019 06:13:32",
      "content": "<p>Did you use 500 samples as a validation set and other signals as a train set?\nDid you use folds for cross validation?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "497458": "Hello everyone!\n\nCongratulation for all the winners of this competition! This competition was quite hard in terms of getting a good validation, since there is a great difference between train and test, as many of you have observed. I found many discussion talking about the Adversarial Validation and this helped me a lot to get this position, so I'd like to share the simple trick I used.\n\nI created a small validation set composed of around 500 samples (since one sample is obtained by three phases, that number corresponds to 1500 signal_ids) using Adversarial Validation and used that for model checkpoint for NN based model.\n\nSo the only change from the [public 0.694 kernel](https://www.kaggle.com/braquino/5-fold-lstm-attention-fully-commented-0-694) was train checking with this validation set and seed averaging, which lead me to obtain Public 0.716/ Private 0.643 (Public 0.702 / Private 0.679 if I add highpass filter and DWT denoising which is used in [this kernel](https://www.kaggle.com/jackvial/dwt-signal-denoising), but I couldn't choose this submission).",
    "498975": "Did you use 500 samples as a validation set and other signals as a train set?\nDid you use folds for cross validation?"
  },
  "source": "meta"
}