{
  "id": 108362,
  "title": "Takeaways from a new kaggler",
  "url": "/competitions/aptos2019-blindness-detection/discussion/108362",
  "author_name": "",
  "post_date": "2019-09-11T05:06:18.891335200Z",
  "votes": 7,
  "comment_count": 2,
  "views": 0,
  "content": "<p>This is just a post to express my thoughts on the competition, and what I learned(this is the first time i dedicated myself to the competition).</p>\n\n<p>I'll just get my approach out of the way:\nMy models alone got a 0.915 private / 0.815 public.\nI originally started this competition by copying @drhabib 's b5 kernel and toying with the thresholds and hyperparams(this got me to 0.798 public lb). Again, I was pretty new to ml/cv so I didn't know how to set up everything.\nI then started on my own approach. Guided by many great kernels from @abhishek and @ratthachat , i slowly began to write my own pipeline and training scripts. \nMy final approach actually became to be training on 2015+2019 with cropping black and using 2019 as validation(probably not the best practice haha). I then trained 3 models each for EfficientNetB2-5 where i checkpointed the model with best loss, best kappa, and the last model. I wouldve finetuned more on 2019 but kaggles kernel restrictions hit me pretty hard(no local machine :/).\nMy final ensemble was using the b3(best kappa+loss) and b4/5(all) so 8 models in total.</p>\n\n<p>Now my thoughts(not technical)\n1. Always read through public kernels/discussions. These are so valuable and provide many insights and can alone probably score a bronze medal. Look through high scoring kernels and see what they do similarly and different and question why. So many people share there training/validation strategies in discussions so it is easy to modify stuff from there.\n2. Try to team up! Not only do teammates raise your score(brought me from bronze -&gt; silver), they can teach so much. I was pretty lucky to team up with @taindow and @rishabhiitbhu (whom i cant thank enough!) because they taught me so much about machine learning, from using k-fold, different training strategies, how to analyze confusion matrices/model statistics, to how to keep track of models and their metrics.</p>\n\n<p>Anyways, i hope this is helpful to new kagglers and I wish everyone luck in their kaggle adventures!</p>",
  "messages": [
    {
      "id": "623575",
      "postDate": "09/11/2019 05:06:18",
      "content": "<p>This is just a post to express my thoughts on the competition, and what I learned(this is the first time i dedicated myself to the competition).</p>\n\n<p>I'll just get my approach out of the way:\nMy models alone got a 0.915 private / 0.815 public.\nI originally started this competition by copying @drhabib 's b5 kernel and toying with the thresholds and hyperparams(this got me to 0.798 public lb). Again, I was pretty new to ml/cv so I didn't know how to set up everything.\nI then started on my own approach. Guided by many great kernels from @abhishek and @ratthachat , i slowly began to write my own pipeline and training scripts. \nMy final approach actually became to be training on 2015+2019 with cropping black and using 2019 as validation(probably not the best practice haha). I then trained 3 models each for EfficientNetB2-5 where i checkpointed the model with best loss, best kappa, and the last model. I wouldve finetuned more on 2019 but kaggles kernel restrictions hit me pretty hard(no local machine :/).\nMy final ensemble was using the b3(best kappa+loss) and b4/5(all) so 8 models in total.</p>\n\n<p>Now my thoughts(not technical)\n1. Always read through public kernels/discussions. These are so valuable and provide many insights and can alone probably score a bronze medal. Look through high scoring kernels and see what they do similarly and different and question why. So many people share there training/validation strategies in discussions so it is easy to modify stuff from there.\n2. Try to team up! Not only do teammates raise your score(brought me from bronze -&gt; silver), they can teach so much. I was pretty lucky to team up with @taindow and @rishabhiitbhu (whom i cant thank enough!) because they taught me so much about machine learning, from using k-fold, different training strategies, how to analyze confusion matrices/model statistics, to how to keep track of models and their metrics.</p>\n\n<p>Anyways, i hope this is helpful to new kagglers and I wish everyone luck in their kaggle adventures!</p>",
      "rawMarkdown": "This is just a post to express my thoughts on the competition, and what I learned(this is the first time i dedicated myself to the competition).\n\nI'll just get my approach out of the way:\nMy models alone got a 0.915 private / 0.815 public.\nI originally started this competition by copying @drhabib 's b5 kernel and toying with the thresholds and hyperparams(this got me to 0.798 public lb). Again, I was pretty new to ml/cv so I didn't know how to set up everything.\nI then started on my own approach. Guided by many great kernels from @abhishek and @ratthachat , i slowly began to write my own pipeline and training scripts. \nMy final approach actually became to be training on 2015+2019 with cropping black and using 2019 as validation(probably not the best practice haha). I then trained 3 models each for EfficientNetB2-5 where i checkpointed the model with best loss, best kappa, and the last model. I wouldve finetuned more on 2019 but kaggles kernel restrictions hit me pretty hard(no local machine :/).\nMy final ensemble was using the b3(best kappa+loss) and b4/5(all) so 8 models in total.\n\nNow my thoughts(not technical)\n1. Always read through public kernels/discussions. These are so valuable and provide many insights and can alone probably score a bronze medal. Look through high scoring kernels and see what they do similarly and different and question why. So many people share there training/validation strategies in discussions so it is easy to modify stuff from there.\n2. Try to team up! Not only do teammates raise your score(brought me from bronze -&gt; silver), they can teach so much. I was pretty lucky to team up with @taindow and @rishabhiitbhu (whom i cant thank enough!) because they taught me so much about machine learning, from using k-fold, different training strategies, how to analyze confusion matrices/model statistics, to how to keep track of models and their metrics.\n\nAnyways, i hope this is helpful to new kagglers and I wish everyone luck in their kaggle adventures!",
      "votes": null
    },
    {
      "id": "623741",
      "postDate": "09/11/2019 08:57:42",
      "content": "<p>On the last point, you really have two great teammates and great friends! ;) </p>",
      "rawMarkdown": "On the last point, you really have two great teammates and great friends! ;)",
      "votes": null
    },
    {
      "id": "624546",
      "postDate": "09/12/2019 07:12:26",
      "content": "<p>Congrats Sidhanth. </p>",
      "rawMarkdown": "Congrats Sidhanth.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 623741,
      "author_name": "ratthachat",
      "author_url": "",
      "post_date": "09/11/2019 08:57:42",
      "content": "<p>On the last point, you really have two great teammates and great friends! ;) </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 624546,
      "author_name": "manojprabhaakr",
      "author_url": "",
      "post_date": "09/12/2019 07:12:26",
      "content": "<p>Congrats Sidhanth. </p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "623575": "This is just a post to express my thoughts on the competition, and what I learned(this is the first time i dedicated myself to the competition).\n\nI'll just get my approach out of the way:\nMy models alone got a 0.915 private / 0.815 public.\nI originally started this competition by copying @drhabib 's b5 kernel and toying with the thresholds and hyperparams(this got me to 0.798 public lb). Again, I was pretty new to ml/cv so I didn't know how to set up everything.\nI then started on my own approach. Guided by many great kernels from @abhishek and @ratthachat , i slowly began to write my own pipeline and training scripts. \nMy final approach actually became to be training on 2015+2019 with cropping black and using 2019 as validation(probably not the best practice haha). I then trained 3 models each for EfficientNetB2-5 where i checkpointed the model with best loss, best kappa, and the last model. I wouldve finetuned more on 2019 but kaggles kernel restrictions hit me pretty hard(no local machine :/).\nMy final ensemble was using the b3(best kappa+loss) and b4/5(all) so 8 models in total.\n\nNow my thoughts(not technical)\n1. Always read through public kernels/discussions. These are so valuable and provide many insights and can alone probably score a bronze medal. Look through high scoring kernels and see what they do similarly and different and question why. So many people share there training/validation strategies in discussions so it is easy to modify stuff from there.\n2. Try to team up! Not only do teammates raise your score(brought me from bronze -&gt; silver), they can teach so much. I was pretty lucky to team up with @taindow and @rishabhiitbhu (whom i cant thank enough!) because they taught me so much about machine learning, from using k-fold, different training strategies, how to analyze confusion matrices/model statistics, to how to keep track of models and their metrics.\n\nAnyways, i hope this is helpful to new kagglers and I wish everyone luck in their kaggle adventures!",
    "623741": "On the last point, you really have two great teammates and great friends! ;)",
    "624546": "Congrats Sidhanth."
  },
  "source": "meta"
}