{
  "id": 665055,
  "title": "Which targets are you predicting?",
  "url": "/competitions/csiro-biomass/discussion/665055",
  "author_name": "",
  "post_date": "2025-12-29T23:52:11.664284200Z",
  "votes": 12,
  "comment_count": 15,
  "views": 0,
  "content": "<p>When I started the competition I developed a model to predict:</p>\n<ul>\n<li>\"Dry_Green_g\",</li>\n<li>\"Dry_Total_g\"</li>\n<li>\"GDM_g\"</li>\n</ul>\n<p>and derived the other 2 targets from the relations.\nFor \"Dry_Total_g\", \"GDM_g\" the choice was motivated by fact that they had larger weights in the R2 competition metric. I got 0.62 on the LB.</p>\n<p>However, I noticed that I've a better score if I predict:</p>\n<ul>\n<li>\"Dry_Clover_g\"</li>\n<li>\"Dry_Dead_g\"</li>\n<li>\"Dry_Green_g\"</li>\n</ul>\n<p>and the I derive the other 2 targets</p>\n<p>In this case I've an improvement of 0.03 so 0.65 on the LB.\nHere my results:</p>\n<table>\n<thead>\n<tr>\n<th>Target Variables</th>\n<th>OOF (CV)</th>\n<th>Public LB</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Dry_Green_g, Dry_Total_g, GDM_g</td>\n<td>0.7032</td>\n<td>0.62</td>\n</tr>\n<tr>\n<td>Dry_Clover_g, Dry_Dead_g, Dry_Green_g</td>\n<td><strong>0.7046</strong></td>\n<td><strong>0.65</strong></td>\n</tr>\n</tbody>\n</table>\n<p>For my strategy, I'm doing StratifiedKFold on \"State\" and 5 folds of a 2 streams dino v2 based regressor (in both cases).</p>\n<p>I believe this could be explained by the target distributions (where \"clover\" and \"dead\" have a smaller range of values, smaller variance) as I was observing in my EDA notebook: <a href=\"https://www.kaggle.com/code/simonedegasperis/starter-eda-baseline-brainstorming#Submission\" target=\"_blank\">https://www.kaggle.com/code/simonedegasperis/starter-eda-baseline-brainstorming#Submission</a></p>\n<p>I was wondering if you also noticed that and which are your opinions.</p>",
  "messages": [
    {
      "id": "3383346",
      "postDate": "12/29/2025 23:52:11",
      "content": "<p>When I started the competition I developed a model to predict:</p>\n<ul>\n<li>\"Dry_Green_g\",</li>\n<li>\"Dry_Total_g\"</li>\n<li>\"GDM_g\"</li>\n</ul>\n<p>and derived the other 2 targets from the relations.\nFor \"Dry_Total_g\", \"GDM_g\" the choice was motivated by fact that they had larger weights in the R2 competition metric. I got 0.62 on the LB.</p>\n<p>However, I noticed that I've a better score if I predict:</p>\n<ul>\n<li>\"Dry_Clover_g\"</li>\n<li>\"Dry_Dead_g\"</li>\n<li>\"Dry_Green_g\"</li>\n</ul>\n<p>and the I derive the other 2 targets</p>\n<p>In this case I've an improvement of 0.03 so 0.65 on the LB.\nHere my results:</p>\n<table>\n<thead>\n<tr>\n<th>Target Variables</th>\n<th>OOF (CV)</th>\n<th>Public LB</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Dry_Green_g, Dry_Total_g, GDM_g</td>\n<td>0.7032</td>\n<td>0.62</td>\n</tr>\n<tr>\n<td>Dry_Clover_g, Dry_Dead_g, Dry_Green_g</td>\n<td><strong>0.7046</strong></td>\n<td><strong>0.65</strong></td>\n</tr>\n</tbody>\n</table>\n<p>For my strategy, I'm doing StratifiedKFold on \"State\" and 5 folds of a 2 streams dino v2 based regressor (in both cases).</p>\n<p>I believe this could be explained by the target distributions (where \"clover\" and \"dead\" have a smaller range of values, smaller variance) as I was observing in my EDA notebook: <a href=\"https://www.kaggle.com/code/simonedegasperis/starter-eda-baseline-brainstorming#Submission\" target=\"_blank\">https://www.kaggle.com/code/simonedegasperis/starter-eda-baseline-brainstorming#Submission</a></p>\n<p>I was wondering if you also noticed that and which are your opinions.</p>",
      "rawMarkdown": "When I started the competition I developed a model to predict:\n\n- \"Dry_Green_g\",\n- \"Dry_Total_g\"\n- \"GDM_g\"\n\nand derived the other 2 targets from the relations.\nFor \"Dry_Total_g\", \"GDM_g\" the choice was motivated by fact that they had larger weights in the R2 competition metric. I got 0.62 on the LB.\n\nHowever, I noticed that I've a better score if I predict:\n- \"Dry_Clover_g\"\n- \"Dry_Dead_g\"\n- \"Dry_Green_g\"\n\nand the I derive the other 2 targets\n\nIn this case I've an improvement of 0.03 so 0.65 on the LB.\nHere my results:\n\n| Target Variables | OOF (CV) | Public LB |\n| :--- | :---: | :---: |\n| Dry_Green_g, Dry_Total_g, GDM_g | 0.7032 | 0.62 |\n| Dry_Clover_g, Dry_Dead_g, Dry_Green_g | **0.7046** | **0.65** |\n\nFor my strategy, I'm doing StratifiedKFold on \"State\" and 5 folds of a 2 streams dino v2 based regressor (in both cases).\n\nI believe this could be explained by the target distributions (where \"clover\" and \"dead\" have a smaller range of values, smaller variance) as I was observing in my EDA notebook: https://www.kaggle.com/code/simonedegasperis/starter-eda-baseline-brainstorming#Submission\n\nI was wondering if you also noticed that and which are your opinions.",
      "votes": null
    },
    {
      "id": "3383371",
      "postDate": "12/30/2025 01:01:30",
      "content": "<p>I was training the models on 5 targets, although GDM and Total are derived :( (thanks). I'm using GroupKFold by Date and 3 folds, cv: 76, lb: 67</p>\n<p>u: The only split I see that actually \"works\" is Leave-One-State-Out; CV: 55 LB: 67.</p>\n<p>next: state+data; cv:65  lb: 68</p>",
      "rawMarkdown": "I was training the models on 5 targets, although GDM and Total are derived :( (thanks). I'm using GroupKFold by Date and 3 folds, cv: 76, lb: 67\n\nu: The only split I see that actually \"works\" is Leave-One-State-Out; CV: 55 LB: 67.\n\nnext: state+data; cv:65  lb: 68",
      "votes": null
    },
    {
      "id": "3384367",
      "postDate": "01/01/2026 04:56:47",
      "content": "<p>I think the model should predict 5 targets at the same time. If you only use 3 targets, the model can predict their values with some level of accuracy, but when you use those predictions to find another value, your accuracy worsens due to inaccuracies in predicting the main targets.</p>",
      "rawMarkdown": "I think the model should predict 5 targets at the same time. If you only use 3 targets, the model can predict their values with some level of accuracy, but when you use those predictions to find another value, your accuracy worsens due to inaccuracies in predicting the main targets.",
      "votes": null
    },
    {
      "id": "3384486",
      "postDate": "01/01/2026 10:46:31",
      "content": "<p>Thank you for your comment. I tried to predict the 5 targets at the same time and I got worse results. I don't know if this may be linked to my particular implementation.</p>",
      "rawMarkdown": "Thank you for your comment. I tried to predict the 5 targets at the same time and I got worse results. I don't know if this may be linked to my particular implementation.",
      "votes": null
    },
    {
      "id": "3384490",
      "postDate": "01/01/2026 11:03:21",
      "content": "<p>Nice analysis, I saw the same effect. Predicting the three independent components (Dry_Green_g, Dry_Dead_g, Dry_Clover_g) and deriving GDM_g/Dry_Total_g gives better generalisation because the model learns lower-variance, independent signals instead of trying to re-learn algebraic sums. \nThe competition metric weights some targets more, that can tempt you to predict totals directly, but if the model overfits those high-weight targets on public data, you can get CV→LB gaps.<br>\nTrain only the independent components (Green/Dead/Clover) and deterministically derive GDM = Green + Clover and Total = Green + Dead + Clover</p>",
      "rawMarkdown": "Nice analysis, I saw the same effect. Predicting the three independent components (Dry_Green_g, Dry_Dead_g, Dry_Clover_g) and deriving GDM_g/Dry_Total_g gives better generalisation because the model learns lower-variance, independent signals instead of trying to re-learn algebraic sums. \nThe competition metric weights some targets more, that can tempt you to predict totals directly, but if the model overfits those high-weight targets on public data, you can get CV→LB gaps.  \nTrain only the independent components (Green/Dead/Clover) and deterministically derive GDM = Green + Clover and Total = Green + Dead + Clover",
      "votes": null
    },
    {
      "id": "3384494",
      "postDate": "01/01/2026 11:15:42",
      "content": "<p>Great comment, this is exactly my point.</p>",
      "rawMarkdown": "Great comment, this is exactly my point.",
      "votes": null
    },
    {
      "id": "3384507",
      "postDate": "01/01/2026 11:59:15",
      "content": "<p>I tried a lot of approaches, but all are overfitted. 5 targets predicting got LB score high in my results - 0.59</p>",
      "rawMarkdown": "I tried a lot of approaches, but all are overfitted. 5 targets predicting got LB score high in my results - 0.59",
      "votes": null
    },
    {
      "id": "3385889",
      "postDate": "01/04/2026 07:15:47",
      "content": "<p>I predict that the score for \"Dry_Green_g\", \"Dry_Total_g\", and \"GDM_g\" is 0.59, and the score for predicting Dry_Clover_g, Dry_Dead_g, and Dry_Green_g is 0.58.</p>",
      "rawMarkdown": "I predict that the score for \"Dry_Green_g\", \"Dry_Total_g\", and \"GDM_g\" is 0.59, and the score for predicting Dry_Clover_g, Dry_Dead_g, and Dry_Green_g is 0.58.",
      "votes": null
    },
    {
      "id": "3385991",
      "postDate": "01/04/2026 11:18:39",
      "content": "<p>got same effect. predicing total and gdm gave better results </p>",
      "rawMarkdown": "got same effect. predicing total and gdm gave better results",
      "votes": null
    },
    {
      "id": "3385998",
      "postDate": "01/04/2026 11:26:22",
      "content": "<p>Thanks for sharing, I'm surprised by your results.</p>",
      "rawMarkdown": "Thanks for sharing, I'm surprised by your results.",
      "votes": null
    },
    {
      "id": "3386121",
      "postDate": "01/04/2026 16:45:57",
      "content": "<p>Agree you should predict all 5  - think it's pretty basic statistics at work.  Only reason I can think of to do only 3 is if your running out of time and training of 5 takes too long.  That should not be the case here with only 357 images.</p>",
      "rawMarkdown": "Agree you should predict all 5  - think it's pretty basic statistics at work.  Only reason I can think of to do only 3 is if your running out of time and training of 5 takes too long.  That should not be the case here with only 357 images.",
      "votes": null
    },
    {
      "id": "3386166",
      "postDate": "01/04/2026 18:16:26",
      "content": "<p>Did you have the opportunity to test different targets? On my side my experiments have shown that predicting variables with smaller variance helped to improve accuracy on the derived ones.\nPossible reasons for that could be a more stable optimization, more self consistent outputs with a possible variance reduction.\nI was wondering it could be also interesting to predict other independet variables present in the training set.</p>",
      "rawMarkdown": "Did you have the opportunity to test different targets? On my side my experiments have shown that predicting variables with smaller variance helped to improve accuracy on the derived ones.\nPossible reasons for that could be a more stable optimization, more self consistent outputs with a possible variance reduction.\nI was wondering it could be also interesting to predict other independet variables present in the training set.",
      "votes": null
    },
    {
      "id": "3386220",
      "postDate": "01/04/2026 22:19:49",
      "content": "<p>What I have seen is that variance is an ugly monster that bites you in the behind when you have only 357 low quality images and suspect label values.  </p>\n<p>If I went strictly by my experimental results I should be using 5 different models that might be a different base (Dino vs Convnext), different loss functions (Huber, MSE, etc), etc in order to get the best LB score.  Throw in a calibration curve and some TTA and you got it.  Than hope you have not over fit!</p>\n<p>It's been super interesting to go in all these directions, but IMO the probability that the winning model will be useful beyond the 800 test images is 0.0 :)</p>",
      "rawMarkdown": "What I have seen is that variance is an ugly monster that bites you in the behind when you have only 357 low quality images and suspect label values.  \n\nIf I went strictly by my experimental results I should be using 5 different models that might be a different base (Dino vs Convnext), different loss functions (Huber, MSE, etc), etc in order to get the best LB score.  Throw in a calibration curve and some TTA and you got it.  Than hope you have not over fit!\n\nIt's been super interesting to go in all these directions, but IMO the probability that the winning model will be useful beyond the 800 test images is 0.0 :)",
      "votes": null
    },
    {
      "id": "3386232",
      "postDate": "01/04/2026 22:34:53",
      "content": "<p>Good point, ensembling will of course help to get a higher score even if the dataset is really small. I'll try it!</p>",
      "rawMarkdown": "Good point, ensembling will of course help to get a higher score even if the dataset is really small. I'll try it!",
      "votes": null
    },
    {
      "id": "3396972",
      "postDate": "01/26/2026 08:10:42",
      "content": "<p>Hello, you means \"Leave-One-State-Out\" is groupby sampletime ?</p>",
      "rawMarkdown": "Hello, you means \"Leave-One-State-Out\" is groupby sampletime ?",
      "votes": null
    },
    {
      "id": "3397752",
      "postDate": "01/28/2026 00:01:25",
      "content": "<p>Each fold should have a different state (e.g., training state 3, validation state 1), or it can be based on the data (to better simulate the test set).</p>",
      "rawMarkdown": "Each fold should have a different state (e.g., training state 3, validation state 1), or it can be based on the data (to better simulate the test set).",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3383371,
      "author_name": "giovannyrodrguez",
      "author_url": "",
      "post_date": "12/30/2025 01:01:30",
      "content": "<p>I was training the models on 5 targets, although GDM and Total are derived :( (thanks). I'm using GroupKFold by Date and 3 folds, cv: 76, lb: 67</p>\n<p>u: The only split I see that actually \"works\" is Leave-One-State-Out; CV: 55 LB: 67.</p>\n<p>next: state+data; cv:65  lb: 68</p>",
      "votes": null,
      "replies": [
        {
          "id": 3396972,
          "author_name": "gravity20",
          "author_url": "",
          "post_date": "01/26/2026 08:10:42",
          "content": "<p>Hello, you means \"Leave-One-State-Out\" is groupby sampletime ?</p>",
          "votes": null,
          "replies": [
            {
              "id": 3397752,
              "author_name": "giovannyrodrguez",
              "author_url": "",
              "post_date": "01/28/2026 00:01:25",
              "content": "<p>Each fold should have a different state (e.g., training state 3, validation state 1), or it can be based on the data (to better simulate the test set).</p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3384367,
      "author_name": "rustambazarbayev",
      "author_url": "",
      "post_date": "01/01/2026 04:56:47",
      "content": "<p>I think the model should predict 5 targets at the same time. If you only use 3 targets, the model can predict their values with some level of accuracy, but when you use those predictions to find another value, your accuracy worsens due to inaccuracies in predicting the main targets.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3384486,
          "author_name": "simonedegasperis",
          "author_url": "",
          "post_date": "01/01/2026 10:46:31",
          "content": "<p>Thank you for your comment. I tried to predict the 5 targets at the same time and I got worse results. I don't know if this may be linked to my particular implementation.</p>",
          "votes": null,
          "replies": [
            {
              "id": 3384507,
              "author_name": "rustambazarbayev",
              "author_url": "",
              "post_date": "01/01/2026 11:59:15",
              "content": "<p>I tried a lot of approaches, but all are overfitted. 5 targets predicting got LB score high in my results - 0.59</p>",
              "votes": null,
              "replies": []
            }
          ]
        },
        {
          "id": 3386121,
          "author_name": "pcjimmmy",
          "author_url": "",
          "post_date": "01/04/2026 16:45:57",
          "content": "<p>Agree you should predict all 5  - think it's pretty basic statistics at work.  Only reason I can think of to do only 3 is if your running out of time and training of 5 takes too long.  That should not be the case here with only 357 images.</p>",
          "votes": null,
          "replies": [
            {
              "id": 3386166,
              "author_name": "simonedegasperis",
              "author_url": "",
              "post_date": "01/04/2026 18:16:26",
              "content": "<p>Did you have the opportunity to test different targets? On my side my experiments have shown that predicting variables with smaller variance helped to improve accuracy on the derived ones.\nPossible reasons for that could be a more stable optimization, more self consistent outputs with a possible variance reduction.\nI was wondering it could be also interesting to predict other independet variables present in the training set.</p>",
              "votes": null,
              "replies": [
                {
                  "id": 3386220,
                  "author_name": "pcjimmmy",
                  "author_url": "",
                  "post_date": "01/04/2026 22:19:49",
                  "content": "<p>What I have seen is that variance is an ugly monster that bites you in the behind when you have only 357 low quality images and suspect label values.  </p>\n<p>If I went strictly by my experimental results I should be using 5 different models that might be a different base (Dino vs Convnext), different loss functions (Huber, MSE, etc), etc in order to get the best LB score.  Throw in a calibration curve and some TTA and you got it.  Than hope you have not over fit!</p>\n<p>It's been super interesting to go in all these directions, but IMO the probability that the winning model will be useful beyond the 800 test images is 0.0 :)</p>",
                  "votes": null,
                  "replies": [
                    {
                      "id": 3386232,
                      "author_name": "simonedegasperis",
                      "author_url": "",
                      "post_date": "01/04/2026 22:34:53",
                      "content": "<p>Good point, ensembling will of course help to get a higher score even if the dataset is really small. I'll try it!</p>",
                      "votes": null,
                      "replies": []
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 3384490,
      "author_name": "jaswinreddym",
      "author_url": "",
      "post_date": "01/01/2026 11:03:21",
      "content": "<p>Nice analysis, I saw the same effect. Predicting the three independent components (Dry_Green_g, Dry_Dead_g, Dry_Clover_g) and deriving GDM_g/Dry_Total_g gives better generalisation because the model learns lower-variance, independent signals instead of trying to re-learn algebraic sums. \nThe competition metric weights some targets more, that can tempt you to predict totals directly, but if the model overfits those high-weight targets on public data, you can get CV→LB gaps.<br>\nTrain only the independent components (Green/Dead/Clover) and deterministically derive GDM = Green + Clover and Total = Green + Dead + Clover</p>",
      "votes": null,
      "replies": [
        {
          "id": 3384494,
          "author_name": "simonedegasperis",
          "author_url": "",
          "post_date": "01/01/2026 11:15:42",
          "content": "<p>Great comment, this is exactly my point.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 3385889,
      "author_name": "kagger3",
      "author_url": "",
      "post_date": "01/04/2026 07:15:47",
      "content": "<p>I predict that the score for \"Dry_Green_g\", \"Dry_Total_g\", and \"GDM_g\" is 0.59, and the score for predicting Dry_Clover_g, Dry_Dead_g, and Dry_Green_g is 0.58.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3385991,
          "author_name": "vyacheslavshen",
          "author_url": "",
          "post_date": "01/04/2026 11:18:39",
          "content": "<p>got same effect. predicing total and gdm gave better results </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 3385998,
          "author_name": "simonedegasperis",
          "author_url": "",
          "post_date": "01/04/2026 11:26:22",
          "content": "<p>Thanks for sharing, I'm surprised by your results.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3383346": "When I started the competition I developed a model to predict:\n\n- \"Dry_Green_g\",\n- \"Dry_Total_g\"\n- \"GDM_g\"\n\nand derived the other 2 targets from the relations.\nFor \"Dry_Total_g\", \"GDM_g\" the choice was motivated by fact that they had larger weights in the R2 competition metric. I got 0.62 on the LB.\n\nHowever, I noticed that I've a better score if I predict:\n- \"Dry_Clover_g\"\n- \"Dry_Dead_g\"\n- \"Dry_Green_g\"\n\nand the I derive the other 2 targets\n\nIn this case I've an improvement of 0.03 so 0.65 on the LB.\nHere my results:\n\n| Target Variables | OOF (CV) | Public LB |\n| :--- | :---: | :---: |\n| Dry_Green_g, Dry_Total_g, GDM_g | 0.7032 | 0.62 |\n| Dry_Clover_g, Dry_Dead_g, Dry_Green_g | **0.7046** | **0.65** |\n\nFor my strategy, I'm doing StratifiedKFold on \"State\" and 5 folds of a 2 streams dino v2 based regressor (in both cases).\n\nI believe this could be explained by the target distributions (where \"clover\" and \"dead\" have a smaller range of values, smaller variance) as I was observing in my EDA notebook: https://www.kaggle.com/code/simonedegasperis/starter-eda-baseline-brainstorming#Submission\n\nI was wondering if you also noticed that and which are your opinions.",
    "3383371": "I was training the models on 5 targets, although GDM and Total are derived :( (thanks). I'm using GroupKFold by Date and 3 folds, cv: 76, lb: 67\n\nu: The only split I see that actually \"works\" is Leave-One-State-Out; CV: 55 LB: 67.\n\nnext: state+data; cv:65  lb: 68",
    "3384367": "I think the model should predict 5 targets at the same time. If you only use 3 targets, the model can predict their values with some level of accuracy, but when you use those predictions to find another value, your accuracy worsens due to inaccuracies in predicting the main targets.",
    "3384486": "Thank you for your comment. I tried to predict the 5 targets at the same time and I got worse results. I don't know if this may be linked to my particular implementation.",
    "3384490": "Nice analysis, I saw the same effect. Predicting the three independent components (Dry_Green_g, Dry_Dead_g, Dry_Clover_g) and deriving GDM_g/Dry_Total_g gives better generalisation because the model learns lower-variance, independent signals instead of trying to re-learn algebraic sums. \nThe competition metric weights some targets more, that can tempt you to predict totals directly, but if the model overfits those high-weight targets on public data, you can get CV→LB gaps.  \nTrain only the independent components (Green/Dead/Clover) and deterministically derive GDM = Green + Clover and Total = Green + Dead + Clover",
    "3384494": "Great comment, this is exactly my point.",
    "3384507": "I tried a lot of approaches, but all are overfitted. 5 targets predicting got LB score high in my results - 0.59",
    "3385889": "I predict that the score for \"Dry_Green_g\", \"Dry_Total_g\", and \"GDM_g\" is 0.59, and the score for predicting Dry_Clover_g, Dry_Dead_g, and Dry_Green_g is 0.58.",
    "3385991": "got same effect. predicing total and gdm gave better results",
    "3385998": "Thanks for sharing, I'm surprised by your results.",
    "3386121": "Agree you should predict all 5  - think it's pretty basic statistics at work.  Only reason I can think of to do only 3 is if your running out of time and training of 5 takes too long.  That should not be the case here with only 357 images.",
    "3386166": "Did you have the opportunity to test different targets? On my side my experiments have shown that predicting variables with smaller variance helped to improve accuracy on the derived ones.\nPossible reasons for that could be a more stable optimization, more self consistent outputs with a possible variance reduction.\nI was wondering it could be also interesting to predict other independet variables present in the training set.",
    "3386220": "What I have seen is that variance is an ugly monster that bites you in the behind when you have only 357 low quality images and suspect label values.  \n\nIf I went strictly by my experimental results I should be using 5 different models that might be a different base (Dino vs Convnext), different loss functions (Huber, MSE, etc), etc in order to get the best LB score.  Throw in a calibration curve and some TTA and you got it.  Than hope you have not over fit!\n\nIt's been super interesting to go in all these directions, but IMO the probability that the winning model will be useful beyond the 800 test images is 0.0 :)",
    "3386232": "Good point, ensembling will of course help to get a higher score even if the dataset is really small. I'll try it!",
    "3396972": "Hello, you means \"Leave-One-State-Out\" is groupby sampletime ?",
    "3397752": "Each fold should have a different state (e.g., training state 3, validation state 1), or it can be based on the data (to better simulate the test set)."
  },
  "source": "meta"
}