{
  "id": 495127,
  "title": "⚠️ Remember to multiply by sample submission ⚠️",
  "url": "/competitions/leap-atmospheric-physics-ai-climsim/discussion/495127",
  "author_name": "asarvazyan",
  "post_date": "2024-04-19T18:45:56.774000",
  "votes": 13,
  "comment_count": 10,
  "views": 0,
  "content": "<p>The overview of the competition has a CRUCIAL instruction hidden in the evaluation section:</p>\n<blockquote>\n  <p>We will be using a custom R-squared metric for evaluation, but on a weighted solution. <strong>Prior to submitting your prediction, please multiply your prediction data element-wise by the data found in <code>sample_submission.csv</code></strong>, which serves dual purpose as both a \"sample submission\" and a \"weighting file\". This will weight all of the target variables by pressure and area and \"convert\" them to common units (watts per meter squared).</p>\n</blockquote>\n<p>⚠️ This means that <em>unless you multiply the predictions by the sample submission, the predictions will be way off from the targets in the test set</em>. </p>\n<p>Don't forget to do this, it can mean the difference between wasting a submission or ignoring a potential good idea!</p>",
  "messages": [
    {
      "id": 2761272,
      "postDate": "2024-04-19T18:45:56.773Z",
      "content": "<p>The overview of the competition has a CRUCIAL instruction hidden in the evaluation section:</p>\n<blockquote>\n  <p>We will be using a custom R-squared metric for evaluation, but on a weighted solution. <strong>Prior to submitting your prediction, please multiply your prediction data element-wise by the data found in <code>sample_submission.csv</code></strong>, which serves dual purpose as both a \"sample submission\" and a \"weighting file\". This will weight all of the target variables by pressure and area and \"convert\" them to common units (watts per meter squared).</p>\n</blockquote>\n<p>⚠️ This means that <em>unless you multiply the predictions by the sample submission, the predictions will be way off from the targets in the test set</em>. </p>\n<p>Don't forget to do this, it can mean the difference between wasting a submission or ignoring a potential good idea!</p>",
      "rawMarkdown": "The overview of the competition has a CRUCIAL instruction hidden in the evaluation section:\n\n>We will be using a custom R-squared metric for evaluation, but on a weighted solution. **Prior to submitting your prediction, please multiply your prediction data element-wise by the data found in `sample_submission.csv`**, which serves dual purpose as both a \"sample submission\" and a \"weighting file\". This will weight all of the target variables by pressure and area and \"convert\" them to common units (watts per meter squared).\n\n⚠️ This means that *unless you multiply the predictions by the sample submission, the predictions will be way off from the targets in the test set*. \n\nDon't forget to do this, it can mean the difference between wasting a submission or ignoring a potential good idea!\n",
      "votes": 13
    },
    {
      "id": 2762989,
      "postDate": "2024-04-20T07:41:37.463Z",
      "content": "<p>FYI This is for submission only. When I multiply weights with my predictions, my validation scores becomes worse.</p>",
      "rawMarkdown": "FYI This is for submission only. When I multiply weights with my predictions, my validation scores becomes worse.",
      "votes": 1,
      "replies": [
        {
          "id": 2763024,
          "postDate": "2024-04-20T08:12:13.603Z",
          "content": "<p>Yes, exactly. The targets in the train set are on different scales to those on the hidden test, so when applying validation techniques we're still predicting targets from the same unmodified train distribution. Good idea to make that clear :)</p>",
          "rawMarkdown": "Yes, exactly. The targets in the train set are on different scales to those on the hidden test, so when applying validation techniques we're still predicting targets from the same unmodified train distribution. Good idea to make that clear :)",
          "votes": 1
        }
      ]
    },
    {
      "id": 2761329,
      "postDate": "2024-04-19T19:19:19.383Z",
      "content": "<p>I have never seen a competition like this in my time with Kaggle. I will remember this for a long time for sure 😀 <a href=\"https://www.kaggle.com/asarvazyan\" target=\"_blank\">@asarvazyan</a> </p>",
      "rawMarkdown": "I have never seen a competition like this in my time with Kaggle. I will remember this for a long time for sure 😀 @asarvazyan ",
      "votes": 1,
      "replies": [
        {
          "id": 2761338,
          "postDate": "2024-04-19T19:22:40.353Z",
          "content": "<p>Agreed. Quite an… interesting choice.</p>\n<p>I'm having trouble understanding why the organizers didn't just apply this multiplication as part of the evaluation scripts. </p>",
          "rawMarkdown": "Agreed. Quite an... interesting choice.\n\nI'm having trouble understanding why the organizers didn't just apply this multiplication as part of the evaluation scripts. ",
          "votes": 5,
          "replies": [
            {
              "id": 2761376,
              "postDate": "2024-04-19T19:49:20.113Z",
              "content": "<p>In cricket, we have a term named <strong>well-left</strong>. I think it is good to do this with this one too <a href=\"https://www.kaggle.com/asarvazyan\" target=\"_blank\">@asarvazyan</a> </p>",
              "rawMarkdown": "In cricket, we have a term named **well-left**. I think it is good to do this with this one too @asarvazyan "
            },
            {
              "id": 2875176,
              "postDate": "2024-06-16T23:42:21.110Z",
              "content": "<p>Looking at the weights is pretty informative - so glad we got to see them, but sure is confusing me to see many of the shared notebooks where it's not real clear that they are doing a multiply.</p>",
              "rawMarkdown": "Looking at the weights is pretty informative - so glad we got to see them, but sure is confusing me to see many of the shared notebooks where it's not real clear that they are doing a multiply."
            }
          ]
        }
      ]
    },
    {
      "id": 2785712,
      "postDate": "2024-05-01T02:15:28.287Z",
      "content": "<p>I did not fully understand it.😭</p>\n<p>I can train a model and run input x through the model to get output <strong>y</strong>.</p>\n<p>Does this mean that I should not directly make <strong>y</strong> into a submitted file?</p>",
      "rawMarkdown": "I did not fully understand it.😭\n\nI can train a model and run input x through the model to get output **y**.\n\nDoes this mean that I should not directly make **y** into a submitted file?",
      "replies": [
        {
          "id": 2786014,
          "postDate": "2024-05-01T05:45:11.847Z",
          "content": "<p>It's strange, isn't it? But yes you're right, you cannot submit your 'y' predictions directly. You have to multiply them by the numbers in sample_submission.csv, which are not representative samples at all, but weighting factors. As I understand it.</p>",
          "rawMarkdown": "It's strange, isn't it? But yes you're right, you cannot submit your 'y' predictions directly. You have to multiply them by the numbers in sample_submission.csv, which are not representative samples at all, but weighting factors. As I understand it."
        },
        {
          "id": 2786122,
          "postDate": "2024-05-01T06:51:17.717Z",
          "content": "<p>That's right.  Usually, we just submit our predictions.  Also, the sample submission file is usually a somewhat realistic submission file (although it could be something like all ones).</p>\n<p>In this competition, they wanted to give us a set of weights to multiply by our predictions.  I guess someone decided since the weights would have the same number of columns as the sample submission, they'd just create one file and use it for both purposes.</p>",
          "rawMarkdown": "That's right.  Usually, we just submit our predictions.  Also, the sample submission file is usually a somewhat realistic submission file (although it could be something like all ones).\n\nIn this competition, they wanted to give us a set of weights to multiply by our predictions.  I guess someone decided since the weights would have the same number of columns as the sample submission, they'd just create one file and use it for both purposes.",
          "votes": 1
        }
      ]
    },
    {
      "id": 2781248,
      "postDate": "2024-04-28T17:08:14.340Z",
      "content": "<p>I really don't understand this weighting business. How can everything end up in W/m2 when some quantities have nothing to do with energy flow, e.g. rain rate (m/s) or heating tendency (K/s)? I think we need a more coherent explanation from the competition organisers. It would make far more sense to have us submit data that have the same units and scaling as the target columns in the training data, and only then have them weight our accuracy on those columns according to how much variance or importance they have. Am I just being stupid? 😅<br>\n\"Other values are scaled by the inverse of the standard deviation.\" -- meaning in the training data (which gives rise to the 'sample submission' values) or calculated from our own predictions (which wouldn't seem to make any sense at all)?<br>\nPS I did look at the referenced script. It just shows how the example submission file contains weighting values which are identical for all rows in any given column, the actual predictions being trashed along the way. What kind of \"sample\" is that supposed to be for us to follow as an example?!<br>\n<a href=\"https://github.com/leap-stc/ClimSim/blob/main/for_kaggle_users.py\" target=\"_blank\">https://github.com/leap-stc/ClimSim/blob/main/for_kaggle_users.py</a></p>",
      "rawMarkdown": "I really don't understand this weighting business. How can everything end up in W/m2 when some quantities have nothing to do with energy flow, e.g. rain rate (m/s) or heating tendency (K/s)? I think we need a more coherent explanation from the competition organisers. It would make far more sense to have us submit data that have the same units and scaling as the target columns in the training data, and only then have them weight our accuracy on those columns according to how much variance or importance they have. Am I just being stupid? 😅\n\"Other values are scaled by the inverse of the standard deviation.\" -- meaning in the training data (which gives rise to the 'sample submission' values) or calculated from our own predictions (which wouldn't seem to make any sense at all)?\nPS I did look at the referenced script. It just shows how the example submission file contains weighting values which are identical for all rows in any given column, the actual predictions being trashed along the way. What kind of \"sample\" is that supposed to be for us to follow as an example?!\nhttps://github.com/leap-stc/ClimSim/blob/main/for_kaggle_users.py"
    }
  ],
  "comments": [
    {
      "id": 2762989,
      "author_name": "Gunes Evitan",
      "author_url": "",
      "post_date": "2024-04-20T07:41:37.463000",
      "content": "<p>FYI This is for submission only. When I multiply weights with my predictions, my validation scores becomes worse.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2763024,
          "author_name": "asarvazyan",
          "author_url": "",
          "post_date": "2024-04-20T08:12:13.603000",
          "content": "<p>Yes, exactly. The targets in the train set are on different scales to those on the hidden test, so when applying validation techniques we're still predicting targets from the same unmodified train distribution. Good idea to make that clear :)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2761329,
      "author_name": "Ravi Ramakrishnan",
      "author_url": "",
      "post_date": "2024-04-19T19:19:19.383000",
      "content": "<p>I have never seen a competition like this in my time with Kaggle. I will remember this for a long time for sure 😀 <a href=\"https://www.kaggle.com/asarvazyan\" target=\"_blank\">@asarvazyan</a> </p>",
      "votes": 1,
      "replies": [
        {
          "id": 2761338,
          "author_name": "asarvazyan",
          "author_url": "",
          "post_date": "2024-04-19T19:22:40.353000",
          "content": "<p>Agreed. Quite an… interesting choice.</p>\n<p>I'm having trouble understanding why the organizers didn't just apply this multiplication as part of the evaluation scripts. </p>",
          "votes": 5,
          "replies": [
            {
              "id": 2761376,
              "author_name": "Ravi Ramakrishnan",
              "author_url": "",
              "post_date": "2024-04-19T19:49:20.113000",
              "content": "<p>In cricket, we have a term named <strong>well-left</strong>. I think it is good to do this with this one too <a href=\"https://www.kaggle.com/asarvazyan\" target=\"_blank\">@asarvazyan</a> </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2875176,
              "author_name": "PC Jimmmy",
              "author_url": "",
              "post_date": "2024-06-16T23:42:21.110000",
              "content": "<p>Looking at the weights is pretty informative - so glad we got to see them, but sure is confusing me to see many of the shared notebooks where it's not real clear that they are doing a multiply.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2785712,
      "author_name": "thoth000",
      "author_url": "",
      "post_date": "2024-05-01T02:15:28.287000",
      "content": "<p>I did not fully understand it.😭</p>\n<p>I can train a model and run input x through the model to get output <strong>y</strong>.</p>\n<p>Does this mean that I should not directly make <strong>y</strong> into a submitted file?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2786014,
          "author_name": "Charlie Wartnaby",
          "author_url": "",
          "post_date": "2024-05-01T05:45:11.847000",
          "content": "<p>It's strange, isn't it? But yes you're right, you cannot submit your 'y' predictions directly. You have to multiply them by the numbers in sample_submission.csv, which are not representative samples at all, but weighting factors. As I understand it.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 2786122,
          "author_name": "Ted K",
          "author_url": "",
          "post_date": "2024-05-01T06:51:17.717000",
          "content": "<p>That's right.  Usually, we just submit our predictions.  Also, the sample submission file is usually a somewhat realistic submission file (although it could be something like all ones).</p>\n<p>In this competition, they wanted to give us a set of weights to multiply by our predictions.  I guess someone decided since the weights would have the same number of columns as the sample submission, they'd just create one file and use it for both purposes.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2781248,
      "author_name": "Charlie Wartnaby",
      "author_url": "",
      "post_date": "2024-04-28T17:08:14.340000",
      "content": "<p>I really don't understand this weighting business. How can everything end up in W/m2 when some quantities have nothing to do with energy flow, e.g. rain rate (m/s) or heating tendency (K/s)? I think we need a more coherent explanation from the competition organisers. It would make far more sense to have us submit data that have the same units and scaling as the target columns in the training data, and only then have them weight our accuracy on those columns according to how much variance or importance they have. Am I just being stupid? 😅<br>\n\"Other values are scaled by the inverse of the standard deviation.\" -- meaning in the training data (which gives rise to the 'sample submission' values) or calculated from our own predictions (which wouldn't seem to make any sense at all)?<br>\nPS I did look at the referenced script. It just shows how the example submission file contains weighting values which are identical for all rows in any given column, the actual predictions being trashed along the way. What kind of \"sample\" is that supposed to be for us to follow as an example?!<br>\n<a href=\"https://github.com/leap-stc/ClimSim/blob/main/for_kaggle_users.py\" target=\"_blank\">https://github.com/leap-stc/ClimSim/blob/main/for_kaggle_users.py</a></p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2761272": "The overview of the competition has a CRUCIAL instruction hidden in the evaluation section:\n\n>We will be using a custom R-squared metric for evaluation, but on a weighted solution. **Prior to submitting your prediction, please multiply your prediction data element-wise by the data found in `sample_submission.csv`**, which serves dual purpose as both a \"sample submission\" and a \"weighting file\". This will weight all of the target variables by pressure and area and \"convert\" them to common units (watts per meter squared).\n\n⚠️ This means that *unless you multiply the predictions by the sample submission, the predictions will be way off from the targets in the test set*. \n\nDon't forget to do this, it can mean the difference between wasting a submission or ignoring a potential good idea!\n",
    "2762989": "FYI This is for submission only. When I multiply weights with my predictions, my validation scores becomes worse.",
    "2761329": "I have never seen a competition like this in my time with Kaggle. I will remember this for a long time for sure 😀 @asarvazyan ",
    "2785712": "I did not fully understand it.😭\n\nI can train a model and run input x through the model to get output **y**.\n\nDoes this mean that I should not directly make **y** into a submitted file?",
    "2781248": "I really don't understand this weighting business. How can everything end up in W/m2 when some quantities have nothing to do with energy flow, e.g. rain rate (m/s) or heating tendency (K/s)? I think we need a more coherent explanation from the competition organisers. It would make far more sense to have us submit data that have the same units and scaling as the target columns in the training data, and only then have them weight our accuracy on those columns according to how much variance or importance they have. Am I just being stupid? 😅\n\"Other values are scaled by the inverse of the standard deviation.\" -- meaning in the training data (which gives rise to the 'sample submission' values) or calculated from our own predictions (which wouldn't seem to make any sense at all)?\nPS I did look at the referenced script. It just shows how the example submission file contains weighting values which are identical for all rows in any given column, the actual predictions being trashed along the way. What kind of \"sample\" is that supposed to be for us to follow as an example?!\nhttps://github.com/leap-stc/ClimSim/blob/main/for_kaggle_users.py"
  }
}