{
  "id": 411380,
  "title": "9th Place Solution",
  "content": "<p>First of all, I would like to express my gratitude to everyone who organized this competition, thank you! Given the small amount of data, the competition was quite uncertain, but I'm glad that I was able to achieve good results.<br>\nNow, I will describe my solution below.</p>\n<h1>Solution Overview</h1>\n<p>The important points of my solution are as follows.</p>\n<h2>Rule-based Patient splitting (most important)</h2>\n<p>I was looking at train data and noticed that healthy patients with very low updrs values are tested only every other year (0, 12, 24, 36, 48, 60 month…) and semi-annual data (6, 18, 30, 42, 54 month ..) were not present.<br>\nThis was also the case in the test data. Patients without data at either the 6th or 18th month would see a significant improvement in LB by lowering the UPDRs value.</p>\n<h2>Modeling using only visit_month</h2>\n<p>Modeling basically uses only visit_month feature.  However, the \"healthy patients with very low updrs values\" mentioned in (1) always have low updrs even after a month has passed, so these patients are removed from the train for modeling. Supplemental data is also used, but data for patients with month = 5 and patients with only month = 0 data are removed.</p>\n<p>The modeling used below.</p>\n<ul>\n<li>simple linear regression (referred  <a href=\"https://www.kaggle.com/code/ambrosm/pdpp-quadratic-trends\" target=\"_blank\">AmbrosM notebook</a>.) </li>\n<li>catboost regression with loss as huber loss</li>\n<li>catboost regression with loss as mae loss<br>\nThree types of regression were created and weighted averaged to obtain a higher CV.<br>\nFor validation, group k fold was performed by aligning the distribution of target as much as possible in each fold.</li>\n</ul>\n<h2>Submit Selection</h2>\n<p>For the last submit, the following two sub were selected.</p>\n<p>A. LB and CV Best sub: applying approaches 1) to 2), both LB and CV is high and align (CV:54.41 LB:54.4).<br>\nB. only CV Best sub: For patients for whom protein/peptido is available in the test data, using the results of the model with protein / peptido features without using the results of visit_month. In this case, CV improves by about 0.4, but LB decreases by the same amount.(CV:54.02 LB:54.9)</p>\n<p>As a result, sub A was better score(Private:60.5). sub B score is 61.2.</p>\n<p>In summary, it was a very uncertain competition, but by looking carefully at the data, and carefully adopting an approach that improves both CV and LB, I can achieve good results.</p>\n<p>Basically I did all the work in kaggle notebook, so I am publishing the code. However, it has not been refactored, so readability is poor.<br>\n<a href=\"https://www.kaggle.com/code/mhyodo/amp-last-submit-v1\" target=\"_blank\">Code</a></p>",
  "comments": [
    {
      "id": 2290898,
      "author_name": "sirius",
      "author_url": "",
      "post_date": "2023-06-07T07:26:53.957000",
      "content": "<p>Congrats. GM on the way</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2265043,
      "author_name": "Cody_Null",
      "author_url": "",
      "post_date": "2023-05-19T00:24:36.247000",
      "content": "<p>Great work! What a good spot to notice the need for patient splitting. Very interesting approach! </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2267327,
      "author_name": "Oscar Aguilar",
      "author_url": "",
      "post_date": "2023-05-20T19:23:46.283000",
      "content": "<p>Congrats🎉 Thanks for sharing your approach (this is the second solution that used <code>visit_month</code>, interesting!).</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2265229,
      "author_name": "Anan",
      "author_url": "",
      "post_date": "2023-05-19T04:56:21.717000",
      "content": "<p>Congratulations! Thx for sharing!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2265149,
      "author_name": "NANACHI",
      "author_url": "",
      "post_date": "2023-05-19T02:54:06.530000",
      "content": "<p>Congratulations &amp; Thank you for sharing! I learned a lot from your solution!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2265097,
      "author_name": "BarryZhou",
      "author_url": "",
      "post_date": "2023-05-19T01:25:43.007000",
      "content": "<p>Congratulations! It's a great idea!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2265078,
      "author_name": "DongYK",
      "author_url": "",
      "post_date": "2023-05-19T01:03:00.460000",
      "content": "<p>Would you explain how you captured the difference between healthy patients and not??</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2265052,
      "author_name": "Ankur Limbashia",
      "author_url": "",
      "post_date": "2023-05-19T00:31:14.863000",
      "content": "<p>Congratulations! Very interesting thought process.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2265053,
      "author_name": "DongYK",
      "author_url": "",
      "post_date": "2023-05-19T00:33:07.040000",
      "content": "<p>Amazing! Thank you for sharing.</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 9,
  "messages": [
    {
      "id": 2265034,
      "postDate": "2023-05-19T00:14:03.303Z",
      "content": "<p>First of all, I would like to express my gratitude to everyone who organized this competition, thank you! Given the small amount of data, the competition was quite uncertain, but I'm glad that I was able to achieve good results.<br>\nNow, I will describe my solution below.</p>\n<h1>Solution Overview</h1>\n<p>The important points of my solution are as follows.</p>\n<h2>Rule-based Patient splitting (most important)</h2>\n<p>I was looking at train data and noticed that healthy patients with very low updrs values are tested only every other year (0, 12, 24, 36, 48, 60 month…) and semi-annual data (6, 18, 30, 42, 54 month ..) were not present.<br>\nThis was also the case in the test data. Patients without data at either the 6th or 18th month would see a significant improvement in LB by lowering the UPDRs value.</p>\n<h2>Modeling using only visit_month</h2>\n<p>Modeling basically uses only visit_month feature.  However, the \"healthy patients with very low updrs values\" mentioned in (1) always have low updrs even after a month has passed, so these patients are removed from the train for modeling. Supplemental data is also used, but data for patients with month = 5 and patients with only month = 0 data are removed.</p>\n<p>The modeling used below.</p>\n<ul>\n<li>simple linear regression (referred  <a href=\"https://www.kaggle.com/code/ambrosm/pdpp-quadratic-trends\" target=\"_blank\">AmbrosM notebook</a>.) </li>\n<li>catboost regression with loss as huber loss</li>\n<li>catboost regression with loss as mae loss<br>\nThree types of regression were created and weighted averaged to obtain a higher CV.<br>\nFor validation, group k fold was performed by aligning the distribution of target as much as possible in each fold.</li>\n</ul>\n<h2>Submit Selection</h2>\n<p>For the last submit, the following two sub were selected.</p>\n<p>A. LB and CV Best sub: applying approaches 1) to 2), both LB and CV is high and align (CV:54.41 LB:54.4).<br>\nB. only CV Best sub: For patients for whom protein/peptido is available in the test data, using the results of the model with protein / peptido features without using the results of visit_month. In this case, CV improves by about 0.4, but LB decreases by the same amount.(CV:54.02 LB:54.9)</p>\n<p>As a result, sub A was better score(Private:60.5). sub B score is 61.2.</p>\n<p>In summary, it was a very uncertain competition, but by looking carefully at the data, and carefully adopting an approach that improves both CV and LB, I can achieve good results.</p>\n<p>Basically I did all the work in kaggle notebook, so I am publishing the code. However, it has not been refactored, so readability is poor.<br>\n<a href=\"https://www.kaggle.com/code/mhyodo/amp-last-submit-v1\" target=\"_blank\">Code</a></p>",
      "rawMarkdown": "First of all, I would like to express my gratitude to everyone who organized this competition, thank you! Given the small amount of data, the competition was quite uncertain, but I'm glad that I was able to achieve good results.\nNow, I will describe my solution below.\n\n\n# Solution Overview\nThe important points of my solution are as follows.\n\n## Rule-based Patient splitting (most important)\nI was looking at train data and noticed that healthy patients with very low updrs values are tested only every other year (0, 12, 24, 36, 48, 60 month...) and semi-annual data (6, 18, 30, 42, 54 month ..) were not present.\nThis was also the case in the test data. Patients without data at either the 6th or 18th month would see a significant improvement in LB by lowering the UPDRs value.\n\n## Modeling using only visit_month\nModeling basically uses only visit_month feature.  However, the \"healthy patients with very low updrs values\" mentioned in (1) always have low updrs even after a month has passed, so these patients are removed from the train for modeling. Supplemental data is also used, but data for patients with month = 5 and patients with only month = 0 data are removed.\n\nThe modeling used below.\n- simple linear regression (referred  [AmbrosM notebook](https://www.kaggle.com/code/ambrosm/pdpp-quadratic-trends).) \n- catboost regression with loss as huber loss\n- catboost regression with loss as mae loss\nThree types of regression were created and weighted averaged to obtain a higher CV.\nFor validation, group k fold was performed by aligning the distribution of target as much as possible in each fold.\n\n\n## Submit Selection\nFor the last submit, the following two sub were selected.\n\nA. LB and CV Best sub: applying approaches 1) to 2), both LB and CV is high and align (CV:54.41 LB:54.4).\nB. only CV Best sub: For patients for whom protein/peptido is available in the test data, using the results of the model with protein / peptido features without using the results of visit_month. In this case, CV improves by about 0.4, but LB decreases by the same amount.(CV:54.02 LB:54.9)\n\nAs a result, sub A was better score(Private:60.5). sub B score is 61.2.\n\nIn summary, it was a very uncertain competition, but by looking carefully at the data, and carefully adopting an approach that improves both CV and LB, I can achieve good results.\n\n\nBasically I did all the work in kaggle notebook, so I am publishing the code. However, it has not been refactored, so readability is poor.\n[Code](https://www.kaggle.com/code/mhyodo/amp-last-submit-v1)",
      "votes": 39
    },
    {
      "id": 2290898,
      "postDate": "2023-06-07T07:26:53.957Z",
      "content": "<p>Congrats. GM on the way</p>",
      "rawMarkdown": "Congrats. GM on the way",
      "votes": 1
    },
    {
      "id": 2265043,
      "postDate": "2023-05-19T00:24:36.247Z",
      "content": "<p>Great work! What a good spot to notice the need for patient splitting. Very interesting approach! </p>",
      "rawMarkdown": "Great work! What a good spot to notice the need for patient splitting. Very interesting approach! ",
      "votes": 1
    },
    {
      "id": 2267327,
      "postDate": "2023-05-20T19:23:46.283Z",
      "content": "<p>Congrats🎉 Thanks for sharing your approach (this is the second solution that used <code>visit_month</code>, interesting!).</p>",
      "rawMarkdown": "Congrats🎉 Thanks for sharing your approach (this is the second solution that used `visit_month`, interesting!)."
    },
    {
      "id": 2265229,
      "postDate": "2023-05-19T04:56:21.717Z",
      "content": "<p>Congratulations! Thx for sharing!</p>",
      "rawMarkdown": "Congratulations! Thx for sharing!"
    },
    {
      "id": 2265149,
      "postDate": "2023-05-19T02:54:06.530Z",
      "content": "<p>Congratulations &amp; Thank you for sharing! I learned a lot from your solution!</p>",
      "rawMarkdown": "Congratulations & Thank you for sharing! I learned a lot from your solution!"
    },
    {
      "id": 2265097,
      "postDate": "2023-05-19T01:25:43.007Z",
      "content": "<p>Congratulations! It's a great idea!</p>",
      "rawMarkdown": "Congratulations! It's a great idea!"
    },
    {
      "id": 2265078,
      "postDate": "2023-05-19T01:03:00.460Z",
      "content": "<p>Would you explain how you captured the difference between healthy patients and not??</p>",
      "rawMarkdown": "Would you explain how you captured the difference between healthy patients and not??"
    },
    {
      "id": 2265052,
      "postDate": "2023-05-19T00:31:14.863Z",
      "content": "<p>Congratulations! Very interesting thought process.</p>",
      "rawMarkdown": "Congratulations! Very interesting thought process."
    },
    {
      "id": 2265053,
      "postDate": "2023-05-19T00:33:07.040Z",
      "content": "<p>Amazing! Thank you for sharing.</p>",
      "rawMarkdown": "Amazing! Thank you for sharing."
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T14:12:22Z",
  "competition_id": 37794,
  "competition_slug": "amp-parkinsons-disease-progression-prediction",
  "team_id": 10086988,
  "solution_url": "/competitions/amp-parkinsons-disease-progression-prediction/writeups/makotu-9th-place-solution"
}