{
  "id": 364062,
  "title": "📈 What do we know so far? ⚡Summary with  links to relevant resources",
  "url": "/competitions/otto-recommender-system/discussion/364062",
  "author_name": "",
  "post_date": "2022-11-04T10:03:08.523411Z",
  "votes": 82,
  "comment_count": 7,
  "views": 0,
  "content": "<h1>Discussion summary</h1>\n<ul>\n<li>Training on test data is okay! 🥳<ul>\n<li>as observed by <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939\" target=\"_blank\">here</a></li>\n<li>and confirmed by the organizer <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939\" target=\"_blank\">here</a></li></ul></li>\n<li>How are sessions defined?<ul>\n<li>A session is all activity by a single user either in train or in test</li>\n<li>confirmed by the organizer <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363554#2015486\" target=\"_blank\">here</a></li></ul></li>\n<li>In the beginning, there were issues with the competition metric (someone managed to score ~4.8 on recall on public LB😅)<ul>\n<li>This has now been <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363772\" target=\"_blank\">corrected</a>. Thank you, <a href=\"https://www.kaggle.com/inversion\" target=\"_blank\">@inversion</a>! 🙌</li></ul></li>\n<li>Some good thoughts on the competition <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363874\" target=\"_blank\">here</a> by <a href=\"https://www.kaggle.com/narsil\" target=\"_blank\">@narsil</a>.</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364375\" target=\"_blank\">💡 Do not disregard longer sessions -- they contribute disproportionately to the competition metric!</a></li>\n<li>Good conversation on competition metric <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364064\" target=\"_blank\">here</a> and <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364530\" target=\"_blank\">here</a></li>\n</ul>\n<h1>Notebooks recap</h1>\n<ul>\n<li>The outstanding <a href=\"https://www.kaggle.com/code/vslaykovsky/co-visitation-matrix\" target=\"_blank\">co-visitation matrix</a> by <a href=\"https://www.kaggle.com/vslaykovsky\" target=\"_blank\">@vslaykovsky</a>! </li>\n<li>A notebook by <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> building on the co-visitation matrix 👆 and demonstrating the power of training on the test data! (maybe training is too strong of a word, rather using the leak in your calculations)</li>\n<li>My take on the above approach that is simplified and that runs on a <code>parquet</code> dataset (without having to read in json), read <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364210\" target=\"_blank\">more here</a></li>\n<li>the last 20 AIDs are very powerful! (<a href=\"https://www.kaggle.com/code/ttahara/last-aid-20\" target=\"_blank\">original code</a>, <a href=\"https://www.kaggle.com/code/radek1/last-20-aids\" target=\"_blank\">simplified without need for chunking</a>)</li>\n<li>An overview of how to set up <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991\" target=\"_blank\">local validation</a></li>\n<li>Local Validation is key to improving results -- no one worked on this so <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364216\" target=\"_blank\">I implemented one here</a></li>\n</ul>\n<h1>Resources for getting started</h1>\n<ul>\n<li>A <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363624\" target=\"_blank\">great post</a> from <a href=\"https://www.kaggle.com/andradaolteanu\" target=\"_blank\">@andradaolteanu</a> with a link to Andrew Ng's videos on Recommender Systems</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363814\" target=\"_blank\">Getting started resources</a> from yours truly, among other things a link to a legendary lecture by Xavier Amatriain of Netflix fame</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363980\" target=\"_blank\">Transformers4Rec</a> by NVIDIA, deep learning session-based recommendation models, as recommended by <a href=\"https://www.kaggle.com/snnclsr\" target=\"_blank\">@snnclsr</a>! 🚀</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363603\" target=\"_blank\">A post on RecBole</a>, a very interesting looking Recommendation Model library implemented in PyTorch 🔥(thanks <a href=\"https://www.kaggle.com/hidehisaarai1213\" target=\"_blank\">@hidehisaarai1213</a>)</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/366194\" target=\"_blank\">[Starter pack] LGBMRanker with polars 🚀🚀🚀</a> - the first (and so far only) introduction to using Ranking Models by yours truly</li>\n</ul>\n<p>💡 Also, do note that there is <a href=\"https://github.com/otto-de/recsys-dataset\" target=\"_blank\">a repo on GitHub</a> under which the data for this competition has been shared. It contains preprocessing code and information beyond what is available on Kaggle in the competition tabs (you can find most if not all of it in the discussions though that I link to above)!</p>\n<p>The competition is shaping up really nicely and I am super excited about it! 🥳</p>\n<p>Thanks so much for all the hard work and the amazing resources that so many people have shared! 🙏) </p>\n<p><strong>EDIT</strong>: I wrote this post a week or two ago. Adding a couple more resources that can be helpful that have been added in the meantime:</p>\n<p><strong>A couple of related resources you might find useful:</strong></p>\n<ul>\n<li><a href=\"https://www.kaggle.com/code/radek1/2-methods-how-to-ensemble-predictions\" target=\"_blank\">💡 [2 methods] How-to ensemble predictions 🏅🏅🏅</a></li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991\" target=\"_blank\">local validation tracks public LB perfecty -- here is the setup</a></li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/368560\" target=\"_blank\">💡 For my friends from Twitter and LinkedIn -- here is how to dive into this competition 🐳</a></li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363843\" target=\"_blank\">Full dataset processed to CSV/parquet files with optimized memory footprint</a></li>\n<li><a href=\"https://www.kaggle.com/code/radek1/co-visitation-matrix-simplified-imprvd-logic\" target=\"_blank\">co-visitation matrix - simplified, imprvd logic 🔥</a></li>\n<li><a href=\"https://www.kaggle.com/code/radek1/word2vec-how-to-training-and-submission\" target=\"_blank\">💡 Word2Vec How-to [training and submission]🚀🚀🚀</a></li>\n</ul>",
  "messages": [
    {
      "id": "2016849",
      "postDate": "11/04/2022 10:03:08",
      "content": "<h1>Discussion summary</h1>\n<ul>\n<li>Training on test data is okay! 🥳<ul>\n<li>as observed by <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939\" target=\"_blank\">here</a></li>\n<li>and confirmed by the organizer <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939\" target=\"_blank\">here</a></li></ul></li>\n<li>How are sessions defined?<ul>\n<li>A session is all activity by a single user either in train or in test</li>\n<li>confirmed by the organizer <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363554#2015486\" target=\"_blank\">here</a></li></ul></li>\n<li>In the beginning, there were issues with the competition metric (someone managed to score ~4.8 on recall on public LB😅)<ul>\n<li>This has now been <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363772\" target=\"_blank\">corrected</a>. Thank you, <a href=\"https://www.kaggle.com/inversion\" target=\"_blank\">@inversion</a>! 🙌</li></ul></li>\n<li>Some good thoughts on the competition <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363874\" target=\"_blank\">here</a> by <a href=\"https://www.kaggle.com/narsil\" target=\"_blank\">@narsil</a>.</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364375\" target=\"_blank\">💡 Do not disregard longer sessions -- they contribute disproportionately to the competition metric!</a></li>\n<li>Good conversation on competition metric <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364064\" target=\"_blank\">here</a> and <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364530\" target=\"_blank\">here</a></li>\n</ul>\n<h1>Notebooks recap</h1>\n<ul>\n<li>The outstanding <a href=\"https://www.kaggle.com/code/vslaykovsky/co-visitation-matrix\" target=\"_blank\">co-visitation matrix</a> by <a href=\"https://www.kaggle.com/vslaykovsky\" target=\"_blank\">@vslaykovsky</a>! </li>\n<li>A notebook by <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> building on the co-visitation matrix 👆 and demonstrating the power of training on the test data! (maybe training is too strong of a word, rather using the leak in your calculations)</li>\n<li>My take on the above approach that is simplified and that runs on a <code>parquet</code> dataset (without having to read in json), read <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364210\" target=\"_blank\">more here</a></li>\n<li>the last 20 AIDs are very powerful! (<a href=\"https://www.kaggle.com/code/ttahara/last-aid-20\" target=\"_blank\">original code</a>, <a href=\"https://www.kaggle.com/code/radek1/last-20-aids\" target=\"_blank\">simplified without need for chunking</a>)</li>\n<li>An overview of how to set up <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991\" target=\"_blank\">local validation</a></li>\n<li>Local Validation is key to improving results -- no one worked on this so <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364216\" target=\"_blank\">I implemented one here</a></li>\n</ul>\n<h1>Resources for getting started</h1>\n<ul>\n<li>A <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363624\" target=\"_blank\">great post</a> from <a href=\"https://www.kaggle.com/andradaolteanu\" target=\"_blank\">@andradaolteanu</a> with a link to Andrew Ng's videos on Recommender Systems</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363814\" target=\"_blank\">Getting started resources</a> from yours truly, among other things a link to a legendary lecture by Xavier Amatriain of Netflix fame</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363980\" target=\"_blank\">Transformers4Rec</a> by NVIDIA, deep learning session-based recommendation models, as recommended by <a href=\"https://www.kaggle.com/snnclsr\" target=\"_blank\">@snnclsr</a>! 🚀</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363603\" target=\"_blank\">A post on RecBole</a>, a very interesting looking Recommendation Model library implemented in PyTorch 🔥(thanks <a href=\"https://www.kaggle.com/hidehisaarai1213\" target=\"_blank\">@hidehisaarai1213</a>)</li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/366194\" target=\"_blank\">[Starter pack] LGBMRanker with polars 🚀🚀🚀</a> - the first (and so far only) introduction to using Ranking Models by yours truly</li>\n</ul>\n<p>💡 Also, do note that there is <a href=\"https://github.com/otto-de/recsys-dataset\" target=\"_blank\">a repo on GitHub</a> under which the data for this competition has been shared. It contains preprocessing code and information beyond what is available on Kaggle in the competition tabs (you can find most if not all of it in the discussions though that I link to above)!</p>\n<p>The competition is shaping up really nicely and I am super excited about it! 🥳</p>\n<p>Thanks so much for all the hard work and the amazing resources that so many people have shared! 🙏) </p>\n<p><strong>EDIT</strong>: I wrote this post a week or two ago. Adding a couple more resources that can be helpful that have been added in the meantime:</p>\n<p><strong>A couple of related resources you might find useful:</strong></p>\n<ul>\n<li><a href=\"https://www.kaggle.com/code/radek1/2-methods-how-to-ensemble-predictions\" target=\"_blank\">💡 [2 methods] How-to ensemble predictions 🏅🏅🏅</a></li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991\" target=\"_blank\">local validation tracks public LB perfecty -- here is the setup</a></li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/368560\" target=\"_blank\">💡 For my friends from Twitter and LinkedIn -- here is how to dive into this competition 🐳</a></li>\n<li><a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/363843\" target=\"_blank\">Full dataset processed to CSV/parquet files with optimized memory footprint</a></li>\n<li><a href=\"https://www.kaggle.com/code/radek1/co-visitation-matrix-simplified-imprvd-logic\" target=\"_blank\">co-visitation matrix - simplified, imprvd logic 🔥</a></li>\n<li><a href=\"https://www.kaggle.com/code/radek1/word2vec-how-to-training-and-submission\" target=\"_blank\">💡 Word2Vec How-to [training and submission]🚀🚀🚀</a></li>\n</ul>",
      "rawMarkdown": "# Discussion summary\n\n- Training on test data is okay! 🥳\n    - as observed by @cdeotte [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939)\n    - and confirmed by the organizer [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939)\n- How are sessions defined?\n    - A session is all activity by a single user either in train or in test\n    - confirmed by the organizer [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363554#2015486)\n- In the beginning, there were issues with the competition metric (someone managed to score ~4.8 on recall on public LB😅)\n    - This has now been [corrected](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363772). Thank you, @inversion! 🙌\n- Some good thoughts on the competition [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363874) by @narsil.\n- [💡 Do not disregard longer sessions -- they contribute disproportionately to the competition metric!](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364375)\n- Good conversation on competition metric [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364064) and [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364530)\n\n# Notebooks recap\n\n- The outstanding [co-visitation matrix](https://www.kaggle.com/code/vslaykovsky/co-visitation-matrix) by @vslaykovsky! \n- A notebook by @cdeotte building on the co-visitation matrix 👆 and demonstrating the power of training on the test data! (maybe training is too strong of a word, rather using the leak in your calculations)\n- My take on the above approach that is simplified and that runs on a `parquet` dataset (without having to read in json), read [more here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364210)\n- the last 20 AIDs are very powerful! ([original code](https://www.kaggle.com/code/ttahara/last-aid-20), [simplified without need for chunking](https://www.kaggle.com/code/radek1/last-20-aids))\n- An overview of how to set up [local validation](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991)\n- Local Validation is key to improving results -- no one worked on this so [I implemented one here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364216)\n\n# Resources for getting started\n\n- A [great post](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363624) from @andradaolteanu with a link to Andrew Ng's videos on Recommender Systems\n- [Getting started resources](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363814) from yours truly, among other things a link to a legendary lecture by Xavier Amatriain of Netflix fame\n- [Transformers4Rec](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363980) by NVIDIA, deep learning session-based recommendation models, as recommended by @snnclsr! 🚀\n- [A post on RecBole](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363603), a very interesting looking Recommendation Model library implemented in PyTorch 🔥(thanks @hidehisaarai1213)\n- [[Starter pack] LGBMRanker with polars 🚀🚀🚀](https://www.kaggle.com/competitions/otto-recommender-system/discussion/366194) - the first (and so far only) introduction to using Ranking Models by yours truly\n\n💡 Also, do note that there is [a repo on GitHub](https://github.com/otto-de/recsys-dataset) under which the data for this competition has been shared. It contains preprocessing code and information beyond what is available on Kaggle in the competition tabs (you can find most if not all of it in the discussions though that I link to above)!\n\nThe competition is shaping up really nicely and I am super excited about it! 🥳\n\nThanks so much for all the hard work and the amazing resources that so many people have shared! 🙏) \n\n**EDIT**: I wrote this post a week or two ago. Adding a couple more resources that can be helpful that have been added in the meantime:\n\n**A couple of related resources you might find useful:**\n\n* [💡 [2 methods] How-to ensemble predictions 🏅🏅🏅](https://www.kaggle.com/code/radek1/2-methods-how-to-ensemble-predictions)\n* [local validation tracks public LB perfecty -- here is the setup](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991)\n* [💡 For my friends from Twitter and LinkedIn -- here is how to dive into this competition 🐳](https://www.kaggle.com/competitions/otto-recommender-system/discussion/368560)\n* [Full dataset processed to CSV/parquet files with optimized memory footprint](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363843)\n* [co-visitation matrix - simplified, imprvd logic 🔥](https://www.kaggle.com/code/radek1/co-visitation-matrix-simplified-imprvd-logic)\n* [💡 Word2Vec How-to [training and submission]🚀🚀🚀](https://www.kaggle.com/code/radek1/word2vec-how-to-training-and-submission)",
      "votes": null
    },
    {
      "id": "2016866",
      "postDate": "11/04/2022 10:15:32",
      "content": "<p>Thanks! for descriptions!</p>",
      "rawMarkdown": "Thanks! for descriptions!",
      "votes": null
    },
    {
      "id": "2017119",
      "postDate": "11/04/2022 13:59:55",
      "content": "<p>The mistake in the metric was embarrassing, but I'm also proud to be part of a community that handles these hiccups with grace and humor.</p>",
      "rawMarkdown": "The mistake in the metric was embarrassing, but I'm also proud to be part of a community that handles these hiccups with grace and humor.",
      "votes": null
    },
    {
      "id": "2017193",
      "postDate": "11/04/2022 15:29:32",
      "content": "<p><code>there were issues with the competition metric</code> -&gt; I thought someone was stacking xgboosts 😅👀</p>",
      "rawMarkdown": "`there were issues with the competition metric` -> I thought someone was stacking xgboosts 😅👀",
      "votes": null
    },
    {
      "id": "2017783",
      "postDate": "11/05/2022 06:35:20",
      "content": "<p>Under your illustrious leadership, I wouldn't expect anything less from the community! 🙂</p>\n<p>Might I say this tiny hiccup added an element of humor that only contributed to the awesome experience that this competition already is!!!</p>\n<p>Plus who doesn't have bugs in the code they write 😄 Assuming most of us on here are code writers to one extent or another, it would be some very bad optics if we should throw shade on someone due to an honest mistake that had no consequences and that could be quickly corrected 🤷‍♂️ I know this is wishful thinking, but may all the bugs we produce be like that 😄</p>",
      "rawMarkdown": "Under your illustrious leadership, I wouldn't expect anything less from the community! 🙂\n\nMight I say this tiny hiccup added an element of humor that only contributed to the awesome experience that this competition already is!!!\n\nPlus who doesn't have bugs in the code they write 😄 Assuming most of us on here are code writers to one extent or another, it would be some very bad optics if we should throw shade on someone due to an honest mistake that had no consequences and that could be quickly corrected 🤷‍♂️ I know this is wishful thinking, but may all the bugs we produce be like that 😄",
      "votes": null
    },
    {
      "id": "2017913",
      "postDate": "11/05/2022 08:07:00",
      "content": "<p>My pleasure <a href=\"https://www.kaggle.com/zvr842\" target=\"_blank\">@zvr842</a>! 😊</p>",
      "rawMarkdown": "My pleasure @zvr842! 😊",
      "votes": null
    },
    {
      "id": "2038166",
      "postDate": "11/21/2022 08:22:35",
      "content": "<p>Thanks! for descriptions!</p>",
      "rawMarkdown": "Thanks! for descriptions!",
      "votes": null
    },
    {
      "id": "2038251",
      "postDate": "11/21/2022 09:34:32",
      "content": "<p>np at all <a href=\"https://www.kaggle.com/xtxxueyan\" target=\"_blank\">@xtxxueyan</a>! 🙂 Glad I could be of help!</p>",
      "rawMarkdown": "np at all @xtxxueyan! 🙂 Glad I could be of help!",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2016866,
      "author_name": "zvr842",
      "author_url": "",
      "post_date": "11/04/2022 10:15:32",
      "content": "<p>Thanks! for descriptions!</p>",
      "votes": null,
      "replies": [
        {
          "id": 2017913,
          "author_name": "radek1",
          "author_url": "",
          "post_date": "11/05/2022 08:07:00",
          "content": "<p>My pleasure <a href=\"https://www.kaggle.com/zvr842\" target=\"_blank\">@zvr842</a>! 😊</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 2017119,
      "author_name": "inversion",
      "author_url": "",
      "post_date": "11/04/2022 13:59:55",
      "content": "<p>The mistake in the metric was embarrassing, but I'm also proud to be part of a community that handles these hiccups with grace and humor.</p>",
      "votes": null,
      "replies": [
        {
          "id": 2017783,
          "author_name": "radek1",
          "author_url": "",
          "post_date": "11/05/2022 06:35:20",
          "content": "<p>Under your illustrious leadership, I wouldn't expect anything less from the community! 🙂</p>\n<p>Might I say this tiny hiccup added an element of humor that only contributed to the awesome experience that this competition already is!!!</p>\n<p>Plus who doesn't have bugs in the code they write 😄 Assuming most of us on here are code writers to one extent or another, it would be some very bad optics if we should throw shade on someone due to an honest mistake that had no consequences and that could be quickly corrected 🤷‍♂️ I know this is wishful thinking, but may all the bugs we produce be like that 😄</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 2017193,
      "author_name": "andradaolteanu",
      "author_url": "",
      "post_date": "11/04/2022 15:29:32",
      "content": "<p><code>there were issues with the competition metric</code> -&gt; I thought someone was stacking xgboosts 😅👀</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2038166,
      "author_name": "",
      "author_url": "",
      "post_date": "11/21/2022 08:22:35",
      "content": "<p>Thanks! for descriptions!</p>",
      "votes": null,
      "replies": [
        {
          "id": 2038251,
          "author_name": "radek1",
          "author_url": "",
          "post_date": "11/21/2022 09:34:32",
          "content": "<p>np at all <a href=\"https://www.kaggle.com/xtxxueyan\" target=\"_blank\">@xtxxueyan</a>! 🙂 Glad I could be of help!</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2016849": "# Discussion summary\n\n- Training on test data is okay! 🥳\n    - as observed by @cdeotte [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939)\n    - and confirmed by the organizer [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363939)\n- How are sessions defined?\n    - A session is all activity by a single user either in train or in test\n    - confirmed by the organizer [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363554#2015486)\n- In the beginning, there were issues with the competition metric (someone managed to score ~4.8 on recall on public LB😅)\n    - This has now been [corrected](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363772). Thank you, @inversion! 🙌\n- Some good thoughts on the competition [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363874) by @narsil.\n- [💡 Do not disregard longer sessions -- they contribute disproportionately to the competition metric!](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364375)\n- Good conversation on competition metric [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364064) and [here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364530)\n\n# Notebooks recap\n\n- The outstanding [co-visitation matrix](https://www.kaggle.com/code/vslaykovsky/co-visitation-matrix) by @vslaykovsky! \n- A notebook by @cdeotte building on the co-visitation matrix 👆 and demonstrating the power of training on the test data! (maybe training is too strong of a word, rather using the leak in your calculations)\n- My take on the above approach that is simplified and that runs on a `parquet` dataset (without having to read in json), read [more here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364210)\n- the last 20 AIDs are very powerful! ([original code](https://www.kaggle.com/code/ttahara/last-aid-20), [simplified without need for chunking](https://www.kaggle.com/code/radek1/last-20-aids))\n- An overview of how to set up [local validation](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991)\n- Local Validation is key to improving results -- no one worked on this so [I implemented one here](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364216)\n\n# Resources for getting started\n\n- A [great post](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363624) from @andradaolteanu with a link to Andrew Ng's videos on Recommender Systems\n- [Getting started resources](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363814) from yours truly, among other things a link to a legendary lecture by Xavier Amatriain of Netflix fame\n- [Transformers4Rec](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363980) by NVIDIA, deep learning session-based recommendation models, as recommended by @snnclsr! 🚀\n- [A post on RecBole](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363603), a very interesting looking Recommendation Model library implemented in PyTorch 🔥(thanks @hidehisaarai1213)\n- [[Starter pack] LGBMRanker with polars 🚀🚀🚀](https://www.kaggle.com/competitions/otto-recommender-system/discussion/366194) - the first (and so far only) introduction to using Ranking Models by yours truly\n\n💡 Also, do note that there is [a repo on GitHub](https://github.com/otto-de/recsys-dataset) under which the data for this competition has been shared. It contains preprocessing code and information beyond what is available on Kaggle in the competition tabs (you can find most if not all of it in the discussions though that I link to above)!\n\nThe competition is shaping up really nicely and I am super excited about it! 🥳\n\nThanks so much for all the hard work and the amazing resources that so many people have shared! 🙏) \n\n**EDIT**: I wrote this post a week or two ago. Adding a couple more resources that can be helpful that have been added in the meantime:\n\n**A couple of related resources you might find useful:**\n\n* [💡 [2 methods] How-to ensemble predictions 🏅🏅🏅](https://www.kaggle.com/code/radek1/2-methods-how-to-ensemble-predictions)\n* [local validation tracks public LB perfecty -- here is the setup](https://www.kaggle.com/competitions/otto-recommender-system/discussion/364991)\n* [💡 For my friends from Twitter and LinkedIn -- here is how to dive into this competition 🐳](https://www.kaggle.com/competitions/otto-recommender-system/discussion/368560)\n* [Full dataset processed to CSV/parquet files with optimized memory footprint](https://www.kaggle.com/competitions/otto-recommender-system/discussion/363843)\n* [co-visitation matrix - simplified, imprvd logic 🔥](https://www.kaggle.com/code/radek1/co-visitation-matrix-simplified-imprvd-logic)\n* [💡 Word2Vec How-to [training and submission]🚀🚀🚀](https://www.kaggle.com/code/radek1/word2vec-how-to-training-and-submission)",
    "2016866": "Thanks! for descriptions!",
    "2017119": "The mistake in the metric was embarrassing, but I'm also proud to be part of a community that handles these hiccups with grace and humor.",
    "2017193": "`there were issues with the competition metric` -> I thought someone was stacking xgboosts 😅👀",
    "2017783": "Under your illustrious leadership, I wouldn't expect anything less from the community! 🙂\n\nMight I say this tiny hiccup added an element of humor that only contributed to the awesome experience that this competition already is!!!\n\nPlus who doesn't have bugs in the code they write 😄 Assuming most of us on here are code writers to one extent or another, it would be some very bad optics if we should throw shade on someone due to an honest mistake that had no consequences and that could be quickly corrected 🤷‍♂️ I know this is wishful thinking, but may all the bugs we produce be like that 😄",
    "2017913": "My pleasure @zvr842! 😊",
    "2038166": "Thanks! for descriptions!",
    "2038251": "np at all @xtxxueyan! 🙂 Glad I could be of help!"
  },
  "source": "meta"
}