{
  "id": 377623,
  "title": "A good score with NN as reranker?",
  "url": "/competitions/otto-recommender-system/discussion/377623",
  "author_name": "",
  "post_date": "2023-01-12T04:25:23.491389400Z",
  "votes": 7,
  "comment_count": 9,
  "views": 0,
  "content": "<p>From the discussions I've seen, top teams seem to exclusively using gradient boosting models.<br>\nI was just wandering if NNs can perform well in this competition? What's the best score NNs can achieve?</p>",
  "messages": [
    {
      "id": "2096461",
      "postDate": "01/12/2023 04:25:23",
      "content": "<p>From the discussions I've seen, top teams seem to exclusively using gradient boosting models.<br>\nI was just wandering if NNs can perform well in this competition? What's the best score NNs can achieve?</p>",
      "rawMarkdown": "From the discussions I've seen, top teams seem to exclusively using gradient boosting models.\nI was just wandering if NNs can perform well in this competition? What's the best score NNs can achieve?",
      "votes": null
    },
    {
      "id": "2096639",
      "postDate": "01/12/2023 07:14:14",
      "content": "<p>I don't know how you can apply NN for rerank model. Here we use user and item features to rank top items. The role of features is extremely important because it determines the learning ability of the gbt model (or any other model, like NN,..). If you use NN without building features, I think you're turning towards Matrix Factorization techniques.</p>",
      "rawMarkdown": "I don't know how you can apply NN for rerank model. Here we use user and item features to rank top items. The role of features is extremely important because it determines the learning ability of the gbt model (or any other model, like NN,..). If you use NN without building features, I think you're turning towards Matrix Factorization techniques.",
      "votes": null
    },
    {
      "id": "2096838",
      "postDate": "01/12/2023 09:34:24",
      "content": "<p>There're a variety of NN models used in session-based/sequential recommendation. An example is SASRec, which seems to be the model used by OTTO.</p>",
      "rawMarkdown": "There're a variety of NN models used in session-based/sequential recommendation. An example is SASRec, which seems to be the model used by OTTO.",
      "votes": null
    },
    {
      "id": "2096855",
      "postDate": "01/12/2023 09:46:35",
      "content": "<p>Some results from NN are not as good as baseline model (rerank model). You can see here: <a href=\"https://www.kaggle.com/code/yamsam/recbole-gru4rec-sample-code\" target=\"_blank\">GRU4Rec</a> or <a href=\"https://www.kaggle.com/code/theoviel/pretraining-with-merlin-s-transformers4rec\" target=\"_blank\">Transformer4Rec</a></p>",
      "rawMarkdown": "Some results from NN are not as good as baseline model (rerank model). You can see here: [GRU4Rec](https://www.kaggle.com/code/yamsam/recbole-gru4rec-sample-code) or [Transformer4Rec](https://www.kaggle.com/code/theoviel/pretraining-with-merlin-s-transformers4rec)",
      "votes": null
    },
    {
      "id": "2097083",
      "postDate": "01/12/2023 13:03:34",
      "content": "<p>Great question, however regarding the importance of the interactions, I would suggest to take a look at Graph Neural Network ( GNN ). I personnally tried it, but didn't use it extensively ( from the recent articles, GNN outperformed NN ect… ).  I use it to extract embeddings for users and aids, but didn't use it to do the binary classification ( instead of the reranking ) yet.</p>",
      "rawMarkdown": "Great question, however regarding the importance of the interactions, I would suggest to take a look at Graph Neural Network ( GNN ). I personnally tried it, but didn't use it extensively ( from the recent articles, GNN outperformed NN ect... ).  I use it to extract embeddings for users and aids, but didn't use it to do the binary classification ( instead of the reranking ) yet.",
      "votes": null
    },
    {
      "id": "2097534",
      "postDate": "01/12/2023 18:33:18",
      "content": "<p><a href=\"https://www.kaggle.com/bibanh\" target=\"_blank\">@bibanh</a> I believe those solutions were for candidate generation and not ranking per say. It would be interesting to see how an NN performs as a reranker. </p>",
      "rawMarkdown": "bibanh I believe those solutions were for candidate generation and not ranking per say. It would be interesting to see how an NN performs as a reranker.",
      "votes": null
    },
    {
      "id": "2097609",
      "postDate": "01/12/2023 19:48:30",
      "content": "<p>There is actually a great open-source TensorFlow library for developing scalable, neural learning to rank (LTR) models. I've used it a few times and it works really well for large datasets. For this competition, I find XGBoost performs better. You can find out more about TensorFlow Ranking here: <a href=\"url\" target=\"_blank\">https://www.tensorflow.org/ranking</a></p>",
      "rawMarkdown": "There is actually a great open-source TensorFlow library for developing scalable, neural learning to rank (LTR) models. I've used it a few times and it works really well for large datasets. For this competition, I find XGBoost performs better. You can find out more about TensorFlow Ranking here: [https://www.tensorflow.org/ranking](url)",
      "votes": null
    },
    {
      "id": "2099598",
      "postDate": "01/14/2023 14:46:50",
      "content": "<p>As of this moment, I'm using DL models and not using GBT models.<br>\nReaching 0.595 by NN is possible as least.</p>",
      "rawMarkdown": "As of this moment, I'm using DL models and not using GBT models.\nReaching 0.595 by NN is possible as least.",
      "votes": null
    },
    {
      "id": "2125922",
      "postDate": "02/02/2023 02:06:51",
      "content": "<p>Amazing! Could you please share your method or idea now?</p>",
      "rawMarkdown": "Amazing! Could you please share your method or idea now?",
      "votes": null
    },
    {
      "id": "2130494",
      "postDate": "02/05/2023 13:45:07",
      "content": "<p><a href=\"https://www.kaggle.com/juweichan\" target=\"_blank\">@juweichan</a> My solution is here. <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/383769\" target=\"_blank\">https://www.kaggle.com/competitions/otto-recommender-system/discussion/383769</a></p>",
      "rawMarkdown": "juweichan My solution is here. https://www.kaggle.com/competitions/otto-recommender-system/discussion/383769",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2096639,
      "author_name": "bibanh",
      "author_url": "",
      "post_date": "01/12/2023 07:14:14",
      "content": "<p>I don't know how you can apply NN for rerank model. Here we use user and item features to rank top items. The role of features is extremely important because it determines the learning ability of the gbt model (or any other model, like NN,..). If you use NN without building features, I think you're turning towards Matrix Factorization techniques.</p>",
      "votes": null,
      "replies": [
        {
          "id": 2096838,
          "author_name": "homoalways",
          "author_url": "",
          "post_date": "01/12/2023 09:34:24",
          "content": "<p>There're a variety of NN models used in session-based/sequential recommendation. An example is SASRec, which seems to be the model used by OTTO.</p>",
          "votes": null,
          "replies": [
            {
              "id": 2096855,
              "author_name": "bibanh",
              "author_url": "",
              "post_date": "01/12/2023 09:46:35",
              "content": "<p>Some results from NN are not as good as baseline model (rerank model). You can see here: <a href=\"https://www.kaggle.com/code/yamsam/recbole-gru4rec-sample-code\" target=\"_blank\">GRU4Rec</a> or <a href=\"https://www.kaggle.com/code/theoviel/pretraining-with-merlin-s-transformers4rec\" target=\"_blank\">Transformer4Rec</a></p>",
              "votes": null,
              "replies": [
                {
                  "id": 2097534,
                  "author_name": "parthpankajtiwary",
                  "author_url": "",
                  "post_date": "01/12/2023 18:33:18",
                  "content": "<p><a href=\"https://www.kaggle.com/bibanh\" target=\"_blank\">@bibanh</a> I believe those solutions were for candidate generation and not ranking per say. It would be interesting to see how an NN performs as a reranker. </p>",
                  "votes": null,
                  "replies": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 2097083,
      "author_name": "rayanaay",
      "author_url": "",
      "post_date": "01/12/2023 13:03:34",
      "content": "<p>Great question, however regarding the importance of the interactions, I would suggest to take a look at Graph Neural Network ( GNN ). I personnally tried it, but didn't use it extensively ( from the recent articles, GNN outperformed NN ect… ).  I use it to extract embeddings for users and aids, but didn't use it to do the binary classification ( instead of the reranking ) yet.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2097609,
      "author_name": "johnwakefield",
      "author_url": "",
      "post_date": "01/12/2023 19:48:30",
      "content": "<p>There is actually a great open-source TensorFlow library for developing scalable, neural learning to rank (LTR) models. I've used it a few times and it works really well for large datasets. For this competition, I find XGBoost performs better. You can find out more about TensorFlow Ranking here: <a href=\"url\" target=\"_blank\">https://www.tensorflow.org/ranking</a></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2099598,
      "author_name": "toshik",
      "author_url": "",
      "post_date": "01/14/2023 14:46:50",
      "content": "<p>As of this moment, I'm using DL models and not using GBT models.<br>\nReaching 0.595 by NN is possible as least.</p>",
      "votes": null,
      "replies": [
        {
          "id": 2125922,
          "author_name": "juweichan",
          "author_url": "",
          "post_date": "02/02/2023 02:06:51",
          "content": "<p>Amazing! Could you please share your method or idea now?</p>",
          "votes": null,
          "replies": [
            {
              "id": 2130494,
              "author_name": "toshik",
              "author_url": "",
              "post_date": "02/05/2023 13:45:07",
              "content": "<p><a href=\"https://www.kaggle.com/juweichan\" target=\"_blank\">@juweichan</a> My solution is here. <a href=\"https://www.kaggle.com/competitions/otto-recommender-system/discussion/383769\" target=\"_blank\">https://www.kaggle.com/competitions/otto-recommender-system/discussion/383769</a></p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2096461": "From the discussions I've seen, top teams seem to exclusively using gradient boosting models.\nI was just wandering if NNs can perform well in this competition? What's the best score NNs can achieve?",
    "2096639": "I don't know how you can apply NN for rerank model. Here we use user and item features to rank top items. The role of features is extremely important because it determines the learning ability of the gbt model (or any other model, like NN,..). If you use NN without building features, I think you're turning towards Matrix Factorization techniques.",
    "2096838": "There're a variety of NN models used in session-based/sequential recommendation. An example is SASRec, which seems to be the model used by OTTO.",
    "2096855": "Some results from NN are not as good as baseline model (rerank model). You can see here: [GRU4Rec](https://www.kaggle.com/code/yamsam/recbole-gru4rec-sample-code) or [Transformer4Rec](https://www.kaggle.com/code/theoviel/pretraining-with-merlin-s-transformers4rec)",
    "2097083": "Great question, however regarding the importance of the interactions, I would suggest to take a look at Graph Neural Network ( GNN ). I personnally tried it, but didn't use it extensively ( from the recent articles, GNN outperformed NN ect... ).  I use it to extract embeddings for users and aids, but didn't use it to do the binary classification ( instead of the reranking ) yet.",
    "2097534": "bibanh I believe those solutions were for candidate generation and not ranking per say. It would be interesting to see how an NN performs as a reranker.",
    "2097609": "There is actually a great open-source TensorFlow library for developing scalable, neural learning to rank (LTR) models. I've used it a few times and it works really well for large datasets. For this competition, I find XGBoost performs better. You can find out more about TensorFlow Ranking here: [https://www.tensorflow.org/ranking](url)",
    "2099598": "As of this moment, I'm using DL models and not using GBT models.\nReaching 0.595 by NN is possible as least.",
    "2125922": "Amazing! Could you please share your method or idea now?",
    "2130494": "juweichan My solution is here. https://www.kaggle.com/competitions/otto-recommender-system/discussion/383769"
  },
  "source": "meta"
}