{
  "id": 25137,
  "title": "Are pre-processed selected features valid for Kaggle Rules?",
  "url": "/competitions/bosch-production-line-performance/discussion/25137",
  "author_name": "",
  "post_date": "2016-11-06T02:24:47.277Z",
  "votes": null,
  "comment_count": 6,
  "views": 756,
  "content": "<p>I have a question about feature selection. I've seen that kernels use very often pre-processed features names, certainly obtained by an algorithm of feature selection.\nIs it a valid code submission for Kaggle competition? Maybe one should add the feature algorithm in the code?\nI've found that in this kind of competition with a huge dataset, that half of the computation time is necessary just to correctly select the more important features! To just naming them hides half of the work to be done!</p>",
  "messages": [
    {
      "id": "143001",
      "postDate": "11/06/2016 02:24:47",
      "content": "<p>I have a question about feature selection. I've seen that kernels use very often pre-processed features names, certainly obtained by an algorithm of feature selection.\nIs it a valid code submission for Kaggle competition? Maybe one should add the feature algorithm in the code?\nI've found that in this kind of competition with a huge dataset, that half of the computation time is necessary just to correctly select the more important features! To just naming them hides half of the work to be done!</p>",
      "rawMarkdown": "I have a question about feature selection. I've seen that kernels use very often pre-processed features names, certainly obtained by an algorithm of feature selection.\r\nIs it a valid code submission for Kaggle competition? Maybe one should add the feature algorithm in the code?\r\nI've found that in this kind of competition with a huge dataset, that half of the computation time is necessary just to correctly select the more important features! To just naming them hides half of the work to be done!",
      "votes": null
    },
    {
      "id": "143074",
      "postDate": "11/06/2016 18:56:47",
      "content": "<p>feature names aren't used in submission.  Why are you asking?</p>",
      "rawMarkdown": "feature names aren't used in submission.  Why are you asking?",
      "votes": null
    },
    {
      "id": "143087",
      "postDate": "11/06/2016 19:40:18",
      "content": "<p>If you were to be &quot;in the money&quot;, I presume you would need to show where your feature selection came from.</p>\n\n<p>Due to the size of the dataset, many posted solutions/kernals start with &quot;important&quot; features. For completeness, they could post how they figured out which features are important. If you need to figure them out for yourself, xgboost is an easy way to get important features. Of course, which features are important will depend on what algorithms you use, and a feature that xgboost doesn't think is important, could be very important for another algorithm.</p>",
      "rawMarkdown": "If you were to be \"in the money\", I presume you would need to show where your feature selection came from.\r\n\r\nDue to the size of the dataset, many posted solutions/kernals start with \"important\" features. For completeness, they could post how they figured out which features are important. If you need to figure them out for yourself, xgboost is an easy way to get important features. Of course, which features are important will depend on what algorithms you use, and a feature that xgboost doesn't think is important, could be very important for another algorithm.",
      "votes": null
    },
    {
      "id": "143106",
      "postDate": "11/06/2016 21:28:42",
      "content": "<p>Being &quot;in the money&quot; does not mean you have to reveal your feature selection. Of course, it is appreciated if a winner does that.</p>",
      "rawMarkdown": "Being \"in the money\" does not mean you have to reveal your feature selection. Of course, it is appreciated if a winner does that.",
      "votes": null
    },
    {
      "id": "143108",
      "postDate": "11/06/2016 21:43:14",
      "content": "<p>(I've never been &quot;in the money&quot;, so I don't know exactly how the below rules apply).</p>\n\n<p>But I think the Sponsor gets to know how you did things, which would seem to include Feature selection.</p>\n\n<p>I'm not at much risk of having to worry about the rules for the winners, though...</p>\n\n<p>-Rich</p>\n\n<p>WINNERS' OBLIGATIONS\nDELIVERY &amp; DOCUMENTATION\nAs a condition of receipt of the Prize, the Prize winner must deliver the final model&#8217;s software code as used to generate the winning Submission and associated documentation (consistent with the winning model documentation template available on the kaggle wiki at <a href=\"https://www.kaggle.com/wiki/WinningModelDocumentationTemplate\">https://www.kaggle.com/wiki/WinningModelDocumentationTemplate</a>) to the Competition Sponsor. The delivered software code must be capable of generating the winning Submission and contain a description of resources required to build and/or run the executable code successfully.</p>",
      "rawMarkdown": "(I've never been \"in the money\", so I don't know exactly how the below rules apply).\r\n\r\nBut I think the Sponsor gets to know how you did things, which would seem to include Feature selection.\r\n\r\nI'm not at much risk of having to worry about the rules for the winners, though...\r\n\r\n-Rich\r\n\r\nWINNERS' OBLIGATIONS\r\nDELIVERY & DOCUMENTATION\r\nAs a condition of receipt of the Prize, the Prize winner must deliver the final model’s software code as used to generate the winning Submission and associated documentation (consistent with the winning model documentation template available on the kaggle wiki at https://www.kaggle.com/wiki/WinningModelDocumentationTemplate) to the Competition Sponsor. The delivered software code must be capable of generating the winning Submission and contain a description of resources required to build and/or run the executable code successfully.",
      "votes": null
    },
    {
      "id": "143116",
      "postDate": "11/06/2016 22:46:08",
      "content": "<p>Thank you all for your answers. I'm quite new in kaggle and I didn't know about standard procedures for feature selection. I tried hard to dig in using gradient boosting, only on small sampled data chunks, since it was impossible in my computer to do that for all features and all Ids. Here is some example code here: <a href=\"https://www.kaggle.com/pyd1data/bosch-production-line-performance/monte-carlo-feature-importance-sampling\">https://www.kaggle.com/pyd1data/bosch-production-line-performance/monte-carlo-feature-importance-sampling</a>\nMy own best submission is based on this preprocessing, and my experience is that it's as time consuming as training! That's why I was a bit surprised with hard-coded kernels using some feature names. \nIt'as true that I'm far from winning... but good reproducible research can bring a great interest to kaggle competition. </p>",
      "rawMarkdown": "Thank you all for your answers. I'm quite new in kaggle and I didn't know about standard procedures for feature selection. I tried hard to dig in using gradient boosting, only on small sampled data chunks, since it was impossible in my computer to do that for all features and all Ids. Here is some example code here: https://www.kaggle.com/pyd1data/bosch-production-line-performance/monte-carlo-feature-importance-sampling\r\nMy own best submission is based on this preprocessing, and my experience is that it's as time consuming as training! That's why I was a bit surprised with hard-coded kernels using some feature names. \r\nIt'as true that I'm far from winning... but good reproducible research can bring a great interest to kaggle competition.",
      "votes": null
    },
    {
      "id": "143179",
      "postDate": "11/07/2016 10:09:10",
      "content": "<p>Pierre, what is your machine size.  Mine is 16GB (macbook pro), and I can do reasonably well.</p>\n\n<p>joconnor gave a nice started that you can use with low memory: </p>\n\n<p><a href=\"https://www.kaggle.com/joconnor/bosch-production-line-performance/python-xgboost-starter-0-209-public-mcc\">https://www.kaggle.com/joconnor/bosch-production-line-performance/python-xgboost-starter-0-209-public-mcc</a></p>",
      "rawMarkdown": "Pierre, what is your machine size.  Mine is 16GB (macbook pro), and I can do reasonably well.\r\n\r\njoconnor gave a nice started that you can use with low memory: \r\n\r\nhttps://www.kaggle.com/joconnor/bosch-production-line-performance/python-xgboost-starter-0-209-public-mcc",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 143074,
      "author_name": "cpmpml",
      "author_url": "",
      "post_date": "11/06/2016 18:56:47",
      "content": "<p>feature names aren't used in submission.  Why are you asking?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 143087,
      "author_name": "richardepstein",
      "author_url": "",
      "post_date": "11/06/2016 19:40:18",
      "content": "<p>If you were to be &quot;in the money&quot;, I presume you would need to show where your feature selection came from.</p>\n\n<p>Due to the size of the dataset, many posted solutions/kernals start with &quot;important&quot; features. For completeness, they could post how they figured out which features are important. If you need to figure them out for yourself, xgboost is an easy way to get important features. Of course, which features are important will depend on what algorithms you use, and a feature that xgboost doesn't think is important, could be very important for another algorithm.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 143106,
      "author_name": "raddar",
      "author_url": "",
      "post_date": "11/06/2016 21:28:42",
      "content": "<p>Being &quot;in the money&quot; does not mean you have to reveal your feature selection. Of course, it is appreciated if a winner does that.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 143108,
      "author_name": "richardepstein",
      "author_url": "",
      "post_date": "11/06/2016 21:43:14",
      "content": "<p>(I've never been &quot;in the money&quot;, so I don't know exactly how the below rules apply).</p>\n\n<p>But I think the Sponsor gets to know how you did things, which would seem to include Feature selection.</p>\n\n<p>I'm not at much risk of having to worry about the rules for the winners, though...</p>\n\n<p>-Rich</p>\n\n<p>WINNERS' OBLIGATIONS\nDELIVERY &amp; DOCUMENTATION\nAs a condition of receipt of the Prize, the Prize winner must deliver the final model&#8217;s software code as used to generate the winning Submission and associated documentation (consistent with the winning model documentation template available on the kaggle wiki at <a href=\"https://www.kaggle.com/wiki/WinningModelDocumentationTemplate\">https://www.kaggle.com/wiki/WinningModelDocumentationTemplate</a>) to the Competition Sponsor. The delivered software code must be capable of generating the winning Submission and contain a description of resources required to build and/or run the executable code successfully.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 143116,
      "author_name": "pyd1data",
      "author_url": "",
      "post_date": "11/06/2016 22:46:08",
      "content": "<p>Thank you all for your answers. I'm quite new in kaggle and I didn't know about standard procedures for feature selection. I tried hard to dig in using gradient boosting, only on small sampled data chunks, since it was impossible in my computer to do that for all features and all Ids. Here is some example code here: <a href=\"https://www.kaggle.com/pyd1data/bosch-production-line-performance/monte-carlo-feature-importance-sampling\">https://www.kaggle.com/pyd1data/bosch-production-line-performance/monte-carlo-feature-importance-sampling</a>\nMy own best submission is based on this preprocessing, and my experience is that it's as time consuming as training! That's why I was a bit surprised with hard-coded kernels using some feature names. \nIt'as true that I'm far from winning... but good reproducible research can bring a great interest to kaggle competition. </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 143179,
      "author_name": "cpmpml",
      "author_url": "",
      "post_date": "11/07/2016 10:09:10",
      "content": "<p>Pierre, what is your machine size.  Mine is 16GB (macbook pro), and I can do reasonably well.</p>\n\n<p>joconnor gave a nice started that you can use with low memory: </p>\n\n<p><a href=\"https://www.kaggle.com/joconnor/bosch-production-line-performance/python-xgboost-starter-0-209-public-mcc\">https://www.kaggle.com/joconnor/bosch-production-line-performance/python-xgboost-starter-0-209-public-mcc</a></p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "143001": "I have a question about feature selection. I've seen that kernels use very often pre-processed features names, certainly obtained by an algorithm of feature selection.\r\nIs it a valid code submission for Kaggle competition? Maybe one should add the feature algorithm in the code?\r\nI've found that in this kind of competition with a huge dataset, that half of the computation time is necessary just to correctly select the more important features! To just naming them hides half of the work to be done!",
    "143074": "feature names aren't used in submission.  Why are you asking?",
    "143087": "If you were to be \"in the money\", I presume you would need to show where your feature selection came from.\r\n\r\nDue to the size of the dataset, many posted solutions/kernals start with \"important\" features. For completeness, they could post how they figured out which features are important. If you need to figure them out for yourself, xgboost is an easy way to get important features. Of course, which features are important will depend on what algorithms you use, and a feature that xgboost doesn't think is important, could be very important for another algorithm.",
    "143106": "Being \"in the money\" does not mean you have to reveal your feature selection. Of course, it is appreciated if a winner does that.",
    "143108": "(I've never been \"in the money\", so I don't know exactly how the below rules apply).\r\n\r\nBut I think the Sponsor gets to know how you did things, which would seem to include Feature selection.\r\n\r\nI'm not at much risk of having to worry about the rules for the winners, though...\r\n\r\n-Rich\r\n\r\nWINNERS' OBLIGATIONS\r\nDELIVERY & DOCUMENTATION\r\nAs a condition of receipt of the Prize, the Prize winner must deliver the final model’s software code as used to generate the winning Submission and associated documentation (consistent with the winning model documentation template available on the kaggle wiki at https://www.kaggle.com/wiki/WinningModelDocumentationTemplate) to the Competition Sponsor. The delivered software code must be capable of generating the winning Submission and contain a description of resources required to build and/or run the executable code successfully.",
    "143116": "Thank you all for your answers. I'm quite new in kaggle and I didn't know about standard procedures for feature selection. I tried hard to dig in using gradient boosting, only on small sampled data chunks, since it was impossible in my computer to do that for all features and all Ids. Here is some example code here: https://www.kaggle.com/pyd1data/bosch-production-line-performance/monte-carlo-feature-importance-sampling\r\nMy own best submission is based on this preprocessing, and my experience is that it's as time consuming as training! That's why I was a bit surprised with hard-coded kernels using some feature names. \r\nIt'as true that I'm far from winning... but good reproducible research can bring a great interest to kaggle competition.",
    "143179": "Pierre, what is your machine size.  Mine is 16GB (macbook pro), and I can do reasonably well.\r\n\r\njoconnor gave a nice started that you can use with low memory: \r\n\r\nhttps://www.kaggle.com/joconnor/bosch-production-line-performance/python-xgboost-starter-0-209-public-mcc"
  },
  "source": "meta"
}