{
  "id": 420250,
  "title": "Solution focusing on efficiency LB",
  "url": "/competitions/predict-student-performance-from-game-play/writeups/belal-emad-solution-focusing-on-efficiency-lb",
  "author_name": "",
  "post_date": "2023-06-29T22:56:50.880Z",
  "votes": 6,
  "comment_count": 6,
  "views": 0,
  "content": "<p>First, I'd like to congratulate all prize/medal winners and to thank the organizers for such a chance for newbies in the field of machine learning to gain experience and experts to increase theirs, too. <br>\nSecond, I want to share my simple idea of my latest submissions so that I can know the feedback of others who have more experience than me.<br>\nAs an introduction, I joined the competition solo and my goal was to learn by doing a real project, even if the results are not good or satisfactory, tried a lot of things and learnt how to make successful submission and a working model in a relatively long time :D.<br>\nBut at some point, I checked the efficiency LB and found out that my position in it is (when compared to mine in the main LB) is way better, so I started to focus more on making simple, no time-consuming ideas that get a public score that is not that bad.<br>\nMy feature engineering concentrated on the idea that, maybe, the actions of players in the main game who answer a specific question a right or wrong answer is somehow similar, focusing more on the elapsed time they consume in such actions.<br>\nSo, I developed for each question 2 different models that ensemble each other, depending on the following:<br>\n1st model: elapsed time in each ‘room_fqid’ &amp; ‘level’ group unique values<br>\n2nd model: length of each group in ‘fqid’ texts divided by the length of the whole group. As the elapsed time difference in this column for group wouldn’t be telling a lot, as the same values doesn’t appear consecutively.</p>\n<p>The features are entered into LGBMClassifier with pre trained &amp; tuned hyperparameters.<br>\nThe voting or weights of each model for each question is variable with the questions’ numbers, depending on which weights perform better on a small scale of the same training data, and that’s it!</p>\n<p>My code runs in about half a minute and takes between 4 and 6 minutes to complete scoring with 0.689 highest private LB score in my selected submissions, my highest record was 0.693 in about 9 minutes scoring + running time but unfortunately I didn't choose this submission :) </p>\n<p>I’d like to know about everyone’s feedback, as I am trying to evaluate my experiment in learning through doing real projects. Thank you again and wish me luck in the final efficiency LB :D!</p>\n<p>Link for my code example: <a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/belalemadhussein/simple-highly-efficient-model</a></p>",
  "messages": [
    {
      "id": "2323383",
      "postDate": "06/29/2023 22:52:10",
      "content": "<p>First, I'd like to congratulate all prize/medal winners and to thank the organizers for such a chance for newbies in the field of machine learning to gain experience and experts to increase theirs, too. <br>\nSecond, I want to share my simple idea of my latest submissions so that I can know the feedback of others who have more experience than me.<br>\nAs an introduction, I joined the competition solo and my goal was to learn by doing a real project, even if the results are not good or satisfactory, tried a lot of things and learnt how to make successful submission and a working model in a relatively long time :D.<br>\nBut at some point, I checked the efficiency LB and found out that my position in it is (when compared to mine in the main LB) is way better, so I started to focus more on making simple, no time-consuming ideas that get a public score that is not that bad.<br>\nMy feature engineering concentrated on the idea that, maybe, the actions of players in the main game who answer a specific question a right or wrong answer is somehow similar, focusing more on the elapsed time they consume in such actions.<br>\nSo, I developed for each question 2 different models that ensemble each other, depending on the following:<br>\n1st model: elapsed time in each ‘room_fqid’ &amp; ‘level’ group unique values<br>\n2nd model: length of each group in ‘fqid’ texts divided by the length of the whole group. As the elapsed time difference in this column for group wouldn’t be telling a lot, as the same values doesn’t appear consecutively.</p>\n<p>The features are entered into LGBMClassifier with pre trained &amp; tuned hyperparameters.<br>\nThe voting or weights of each model for each question is variable with the questions’ numbers, depending on which weights perform better on a small scale of the same training data, and that’s it!</p>\n<p>My code runs in about half a minute and takes between 4 and 6 minutes to complete scoring with 0.689 highest private LB score in my selected submissions, my highest record was 0.693 in about 9 minutes scoring + running time but unfortunately I didn't choose this submission :) </p>\n<p>I’d like to know about everyone’s feedback, as I am trying to evaluate my experiment in learning through doing real projects. Thank you again and wish me luck in the final efficiency LB :D!</p>\n<p>Link for my code example: <a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/belalemadhussein/simple-highly-efficient-model</a></p>",
      "rawMarkdown": "First, I'd like to congratulate all prize/medal winners and to thank the organizers for such a chance for newbies in the field of machine learning to gain experience and experts to increase theirs, too. \nSecond, I want to share my simple idea of my latest submissions so that I can know the feedback of others who have more experience than me.\nAs an introduction, I joined the competition solo and my goal was to learn by doing a real project, even if the results are not good or satisfactory, tried a lot of things and learnt how to make successful submission and a working model in a relatively long time :D.\nBut at some point, I checked the efficiency LB and found out that my position in it is (when compared to mine in the main LB) is way better, so I started to focus more on making simple, no time-consuming ideas that get a public score that is not that bad.\nMy feature engineering concentrated on the idea that, maybe, the actions of players in the main game who answer a specific question a right or wrong answer is somehow similar, focusing more on the elapsed time they consume in such actions.\nSo, I developed for each question 2 different models that ensemble each other, depending on the following:\n1st model: elapsed time in each ‘room_fqid’ & ‘level’ group unique values\n2nd model: length of each group in ‘fqid’ texts divided by the length of the whole group. As the elapsed time difference in this column for group wouldn’t be telling a lot, as the same values doesn’t appear consecutively.\n\nThe features are entered into LGBMClassifier with pre trained & tuned hyperparameters.\nThe voting or weights of each model for each question is variable with the questions’ numbers, depending on which weights perform better on a small scale of the same training data, and that’s it!\n\nMy code runs in about half a minute and takes between 4 and 6 minutes to complete scoring with 0.689 highest private LB score in my selected submissions, my highest record was 0.693 in about 9 minutes scoring + running time but unfortunately I didn't choose this submission :) \n\nI’d like to know about everyone’s feedback, as I am trying to evaluate my experiment in learning through doing real projects. Thank you again and wish me luck in the final efficiency LB :D!\n\nLink for my code example: [https://www.kaggle.com/code/belalemadhussein/simple-highly-efficient-model](url)",
      "votes": null
    },
    {
      "id": "2323442",
      "postDate": "06/30/2023 00:33:00",
      "content": "<p>Interesting approach, thanks for sharing. </p>\n<p>I have also competed for efficiency LB only (will post my solution soon) and I guess my current rank is just next to you :)  The submission I have selected scores 0.687 in about 2-3 minutes. Let's see what the final standing will be.</p>",
      "rawMarkdown": "Interesting approach, thanks for sharing. \n\nI have also competed for efficiency LB only (will post my solution soon) and I guess my current rank is just next to you :)  The submission I have selected scores 0.687 in about 2-3 minutes. Let's see what the final standing will be.",
      "votes": null
    },
    {
      "id": "2323530",
      "postDate": "06/30/2023 03:11:16",
      "content": "<p>Thank you! I will be waiting to see your solution idea :)</p>",
      "rawMarkdown": "Thank you! I will be waiting to see your solution idea :)",
      "votes": null
    },
    {
      "id": "2323651",
      "postDate": "06/30/2023 05:19:01",
      "content": "<p>You're welcome to check it out: <a href=\"https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281\" target=\"_blank\">https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281</a></p>",
      "rawMarkdown": "You're welcome to check it out: https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281",
      "votes": null
    },
    {
      "id": "2324489",
      "postDate": "06/30/2023 16:16:25",
      "content": "<p>Nice job, both of you - I look forward to checking out your solutions!</p>\n<p>I think mine will be fairly close, it was about 7:41 seconds for 0.687 public (14th), CV I think .689, but I got a lucky bump to 0.691 private, so might be about the same score.</p>\n<p>(I had been estimating about minus 0.001 per minute, but not sure what the final spread between sample submission score vs best private ended up at) </p>",
      "rawMarkdown": "Nice job, both of you - I look forward to checking out your solutions!\n\nI think mine will be fairly close, it was about 7:41 seconds for 0.687 public (14th), CV I think .689, but I got a lucky bump to 0.691 private, so might be about the same score.\n\n(I had been estimating about minus 0.001 per minute, but not sure what the final spread between sample submission score vs best private ended up at)",
      "votes": null
    },
    {
      "id": "2324521",
      "postDate": "06/30/2023 16:42:00",
      "content": "<p>Cool, thanks for sharing. Let's see what will happen :)</p>\n<blockquote>\n  <p>I look forward to checking out your solutions!</p>\n</blockquote>\n<p>You can check out <a href=\"https://www.kaggle.com/code/kononenko/top-1-public-efficiency-lb-with-linearmodel\" target=\"_blank\">my code</a> and <a href=\"https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281\" target=\"_blank\">wrap-up</a>, if interested.</p>",
      "rawMarkdown": "Cool, thanks for sharing. Let's see what will happen :)\n\n>I look forward to checking out your solutions!\n\nYou can check out [my code](https://www.kaggle.com/code/kononenko/top-1-public-efficiency-lb-with-linearmodel) and [wrap-up](https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281), if interested.",
      "votes": null
    },
    {
      "id": "2327593",
      "postDate": "07/03/2023 04:08:04",
      "content": "<p>I did check out your code and wrap-up, thanks for sharing it!</p>\n<p>My write-up and code are now published as well. <a href=\"https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420884\" target=\"_blank\">See here</a></p>",
      "rawMarkdown": "I did check out your code and wrap-up, thanks for sharing it!\n\nMy write-up and code are now published as well. [See here](https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420884)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2323442,
      "author_name": "kononenko",
      "author_url": "",
      "post_date": "06/30/2023 00:33:00",
      "content": "<p>Interesting approach, thanks for sharing. </p>\n<p>I have also competed for efficiency LB only (will post my solution soon) and I guess my current rank is just next to you :)  The submission I have selected scores 0.687 in about 2-3 minutes. Let's see what the final standing will be.</p>",
      "votes": null,
      "replies": [
        {
          "id": 2323530,
          "author_name": "belalemadhussein",
          "author_url": "",
          "post_date": "06/30/2023 03:11:16",
          "content": "<p>Thank you! I will be waiting to see your solution idea :)</p>",
          "votes": null,
          "replies": [
            {
              "id": 2323651,
              "author_name": "kononenko",
              "author_url": "",
              "post_date": "06/30/2023 05:19:01",
              "content": "<p>You're welcome to check it out: <a href=\"https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281\" target=\"_blank\">https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281</a></p>",
              "votes": null,
              "replies": [
                {
                  "id": 2324489,
                  "author_name": "roberthatch",
                  "author_url": "",
                  "post_date": "06/30/2023 16:16:25",
                  "content": "<p>Nice job, both of you - I look forward to checking out your solutions!</p>\n<p>I think mine will be fairly close, it was about 7:41 seconds for 0.687 public (14th), CV I think .689, but I got a lucky bump to 0.691 private, so might be about the same score.</p>\n<p>(I had been estimating about minus 0.001 per minute, but not sure what the final spread between sample submission score vs best private ended up at) </p>",
                  "votes": null,
                  "replies": [
                    {
                      "id": 2324521,
                      "author_name": "kononenko",
                      "author_url": "",
                      "post_date": "06/30/2023 16:42:00",
                      "content": "<p>Cool, thanks for sharing. Let's see what will happen :)</p>\n<blockquote>\n  <p>I look forward to checking out your solutions!</p>\n</blockquote>\n<p>You can check out <a href=\"https://www.kaggle.com/code/kononenko/top-1-public-efficiency-lb-with-linearmodel\" target=\"_blank\">my code</a> and <a href=\"https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281\" target=\"_blank\">wrap-up</a>, if interested.</p>",
                      "votes": null,
                      "replies": [
                        {
                          "id": 2327593,
                          "author_name": "roberthatch",
                          "author_url": "",
                          "post_date": "07/03/2023 04:08:04",
                          "content": "<p>I did check out your code and wrap-up, thanks for sharing it!</p>\n<p>My write-up and code are now published as well. <a href=\"https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420884\" target=\"_blank\">See here</a></p>",
                          "votes": null,
                          "replies": []
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2323383": "First, I'd like to congratulate all prize/medal winners and to thank the organizers for such a chance for newbies in the field of machine learning to gain experience and experts to increase theirs, too. \nSecond, I want to share my simple idea of my latest submissions so that I can know the feedback of others who have more experience than me.\nAs an introduction, I joined the competition solo and my goal was to learn by doing a real project, even if the results are not good or satisfactory, tried a lot of things and learnt how to make successful submission and a working model in a relatively long time :D.\nBut at some point, I checked the efficiency LB and found out that my position in it is (when compared to mine in the main LB) is way better, so I started to focus more on making simple, no time-consuming ideas that get a public score that is not that bad.\nMy feature engineering concentrated on the idea that, maybe, the actions of players in the main game who answer a specific question a right or wrong answer is somehow similar, focusing more on the elapsed time they consume in such actions.\nSo, I developed for each question 2 different models that ensemble each other, depending on the following:\n1st model: elapsed time in each ‘room_fqid’ & ‘level’ group unique values\n2nd model: length of each group in ‘fqid’ texts divided by the length of the whole group. As the elapsed time difference in this column for group wouldn’t be telling a lot, as the same values doesn’t appear consecutively.\n\nThe features are entered into LGBMClassifier with pre trained & tuned hyperparameters.\nThe voting or weights of each model for each question is variable with the questions’ numbers, depending on which weights perform better on a small scale of the same training data, and that’s it!\n\nMy code runs in about half a minute and takes between 4 and 6 minutes to complete scoring with 0.689 highest private LB score in my selected submissions, my highest record was 0.693 in about 9 minutes scoring + running time but unfortunately I didn't choose this submission :) \n\nI’d like to know about everyone’s feedback, as I am trying to evaluate my experiment in learning through doing real projects. Thank you again and wish me luck in the final efficiency LB :D!\n\nLink for my code example: [https://www.kaggle.com/code/belalemadhussein/simple-highly-efficient-model](url)",
    "2323442": "Interesting approach, thanks for sharing. \n\nI have also competed for efficiency LB only (will post my solution soon) and I guess my current rank is just next to you :)  The submission I have selected scores 0.687 in about 2-3 minutes. Let's see what the final standing will be.",
    "2323530": "Thank you! I will be waiting to see your solution idea :)",
    "2323651": "You're welcome to check it out: https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281",
    "2324489": "Nice job, both of you - I look forward to checking out your solutions!\n\nI think mine will be fairly close, it was about 7:41 seconds for 0.687 public (14th), CV I think .689, but I got a lucky bump to 0.691 private, so might be about the same score.\n\n(I had been estimating about minus 0.001 per minute, but not sure what the final spread between sample submission score vs best private ended up at)",
    "2324521": "Cool, thanks for sharing. Let's see what will happen :)\n\n>I look forward to checking out your solutions!\n\nYou can check out [my code](https://www.kaggle.com/code/kononenko/top-1-public-efficiency-lb-with-linearmodel) and [wrap-up](https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420281), if interested.",
    "2327593": "I did check out your code and wrap-up, thanks for sharing it!\n\nMy write-up and code are now published as well. [See here](https://www.kaggle.com/competitions/predict-student-performance-from-game-play/discussion/420884)"
  },
  "source": "meta"
}