{
  "id": 122158,
  "title": "11th place solution",
  "content": "<p><em>Checkout my kernel at :-</em>\n<a href=\"https://www.kaggle.com/namanj27/how-i-landed-up-in-top-1\">[KMNIST_<em>top</em>_1%]</a></p>\n\n<p><strong>Basic Intro</strong>\nThis was my first ever general competition. I was already in top 1% in my InClass competition ( MNIST ) so thought of giving KMNIST also a try.</p>\n\n<p>*<strong>Small Things I did that <em>helped</em> me bit by bit*</strong>:-</p>\n\n<p>1.<strong>Mean Normalization and feature scaling</strong></p>\n\n<p>2.<strong>.astype('float32')</strong>\nConverted xtrain, ytrain, xval, yval to float type</p>\n\n<p>3.<strong>LeakyReLU</strong>\nUsed LeakyReLU insted of our good ol' ReLU. Saw drastic difference in accuracy.</p>\n\n<p><em><strong>My OBSERVATIONS</strong></em>\n1.<strong>Ensembling</strong> { DID NOT HELP }\nI tried two approaches here. <em>First approach</em> I ensembled various different models and took their average output followed my argmax. <em>Second Approach</em> I ensembled same model multiple times and took their average output followed my argmax. Neither of them helped me.</p>\n\n<p>2.<strong>Training on Dig_MNIST</strong> { DID NOT HELP}\nI combined both <em>train</em> and <em>Dig-MNIST</em> data and tried to train my model on the combined data. But it was of no use 👀 </p>\n\n<p>3.<strong>Optimizer</strong> { HELPED }\nAfter trying out multiple optimizers I finally chose RMSprop as the better optimizer for this competition.</p>\n\n<p>4.<strong>Image_Data_Generator</strong> { HELPED }\nGot a big jump from 0.96 to 0.98 public score using tweeked hyperparameters of Image_Data_Generator class along with *learning_rate_reduction* and <em>earlystopping</em>.</p>\n\n<p>5.<strong>MOST IMPORTANT LEARNING</strong> { HELPED }\n<em>Hyperparameter tuning</em>💯 \nOnce I got around 0.98 public score after applying all those awesome techniques ( stated above ) I used my effort to tweek all those hyperparameters ranging from <em>epochs</em>, *batch_size* ... to *rotation_range*.</p>",
  "comments": [
    {
      "id": 698164,
      "author_name": "MichaelP",
      "author_url": "",
      "post_date": "2019-12-18T21:50:02.877000",
      "content": "<p>Congratulations on the great result in your first Kaggle competition. Hopefully it won't be the last! 🙂 </p>",
      "votes": 2,
      "replies": [
        {
          "id": 698300,
          "author_name": "Naman Jaswani",
          "author_url": "",
          "post_date": "2019-12-19T03:30:13.187000",
          "content": "<p>Thanks and congratulations to you too 🙂\nSure, its just a beginning for me !</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 752155,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-02-20T19:17:27.957000",
      "content": "<p>great</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 3,
  "messages": [
    {
      "id": 697591,
      "postDate": "2019-12-18T05:55:02.310Z",
      "content": "<p><em>Checkout my kernel at :-</em>\n<a href=\"https://www.kaggle.com/namanj27/how-i-landed-up-in-top-1\">[KMNIST_<em>top</em>_1%]</a></p>\n\n<p><strong>Basic Intro</strong>\nThis was my first ever general competition. I was already in top 1% in my InClass competition ( MNIST ) so thought of giving KMNIST also a try.</p>\n\n<p>*<strong>Small Things I did that <em>helped</em> me bit by bit*</strong>:-</p>\n\n<p>1.<strong>Mean Normalization and feature scaling</strong></p>\n\n<p>2.<strong>.astype('float32')</strong>\nConverted xtrain, ytrain, xval, yval to float type</p>\n\n<p>3.<strong>LeakyReLU</strong>\nUsed LeakyReLU insted of our good ol' ReLU. Saw drastic difference in accuracy.</p>\n\n<p><em><strong>My OBSERVATIONS</strong></em>\n1.<strong>Ensembling</strong> { DID NOT HELP }\nI tried two approaches here. <em>First approach</em> I ensembled various different models and took their average output followed my argmax. <em>Second Approach</em> I ensembled same model multiple times and took their average output followed my argmax. Neither of them helped me.</p>\n\n<p>2.<strong>Training on Dig_MNIST</strong> { DID NOT HELP}\nI combined both <em>train</em> and <em>Dig-MNIST</em> data and tried to train my model on the combined data. But it was of no use 👀 </p>\n\n<p>3.<strong>Optimizer</strong> { HELPED }\nAfter trying out multiple optimizers I finally chose RMSprop as the better optimizer for this competition.</p>\n\n<p>4.<strong>Image_Data_Generator</strong> { HELPED }\nGot a big jump from 0.96 to 0.98 public score using tweeked hyperparameters of Image_Data_Generator class along with *learning_rate_reduction* and <em>earlystopping</em>.</p>\n\n<p>5.<strong>MOST IMPORTANT LEARNING</strong> { HELPED }\n<em>Hyperparameter tuning</em>💯 \nOnce I got around 0.98 public score after applying all those awesome techniques ( stated above ) I used my effort to tweek all those hyperparameters ranging from <em>epochs</em>, *batch_size* ... to *rotation_range*.</p>",
      "rawMarkdown": "*Checkout my kernel at :-*\n[[KMNIST__top__1%]](https://www.kaggle.com/namanj27/how-i-landed-up-in-top-1)\n\n**Basic Intro**\nThis was my first ever general competition. I was already in top 1% in my InClass competition ( MNIST ) so thought of giving KMNIST also a try.\n\n***Small Things I did that *helped* me bit by bit***:-\n\n1.**Mean Normalization and feature scaling**\n\n2.**.astype('float32')**\nConverted xtrain, ytrain, xval, yval to float type\n\n3.**LeakyReLU**\nUsed LeakyReLU insted of our good ol' ReLU. Saw drastic difference in accuracy.\n\n\n***My OBSERVATIONS***\n1.**Ensembling** { DID NOT HELP }\nI tried two approaches here. *First approach* I ensembled various different models and took their average output followed my argmax. *Second Approach* I ensembled same model multiple times and took their average output followed my argmax. Neither of them helped me.\n\n2.**Training on Dig_MNIST** { DID NOT HELP}\nI combined both *train* and *Dig-MNIST* data and tried to train my model on the combined data. But it was of no use 👀 \n\n3.**Optimizer** { HELPED }\nAfter trying out multiple optimizers I finally chose RMSprop as the better optimizer for this competition.\n\n4.**Image_Data_Generator** { HELPED }\nGot a big jump from 0.96 to 0.98 public score using tweeked hyperparameters of Image_Data_Generator class along with *learning_rate_reduction* and *earlystopping*.\n\n5.**MOST IMPORTANT LEARNING** { HELPED }\n*Hyperparameter tuning*💯 \nOnce I got around 0.98 public score after applying all those awesome techniques ( stated above ) I used my effort to tweek all those hyperparameters ranging from *epochs*, *batch_size* ... to *rotation_range*.\n\n\n ",
      "votes": 13
    },
    {
      "id": 698164,
      "postDate": "2019-12-18T21:50:02.877Z",
      "content": "<p>Congratulations on the great result in your first Kaggle competition. Hopefully it won't be the last! 🙂 </p>",
      "rawMarkdown": "Congratulations on the great result in your first Kaggle competition. Hopefully it won't be the last! 🙂 ",
      "votes": 2,
      "replies": [
        {
          "id": 698300,
          "postDate": "2019-12-19T03:30:13.187Z",
          "content": "<p>Thanks and congratulations to you too 🙂\nSure, its just a beginning for me !</p>",
          "rawMarkdown": "Thanks and congratulations to you too 🙂\nSure, its just a beginning for me !",
          "votes": 1
        }
      ]
    },
    {
      "id": 752155,
      "postDate": "2020-02-20T19:17:27.957Z",
      "content": "<p>great</p>",
      "rawMarkdown": "great"
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T11:35:03Z",
  "competition_id": 16017,
  "competition_slug": "Kannada-MNIST",
  "team_id": 4105623,
  "solution_url": "/competitions/Kannada-MNIST/writeups/nj7-11th-place-solution"
}