{
  "id": 107768,
  "title": "Last minute information about private test (shameful confession from a kaggle novice)",
  "url": "/competitions/aptos2019-blindness-detection/discussion/107768",
  "author_name": "",
  "post_date": "2019-09-06T14:56:29.341053500Z",
  "votes": 10,
  "comment_count": 15,
  "views": 0,
  "content": "<p>Hellow kagglers, I'm a researcher working on optical image analyses including macula-centered, wide fundus and OCT. Personally, I'm a newbie to kaggle and this is my first competition in kaggle. But I participated in many other fundus-related competitions with team name VRT (VUNO RETINA TEAM) (<a href=\"https://idrid.grand-challenge.org/\">IDRiD</a>,  <a href=\"https://refuge.grand-challenge.org/\">REFUGE</a>,  <a href=\"https://palm.grand-challenge.org/\">PALM</a>)</p>\n\n<p>In fact, I made a second account few days ago to probe private test dataset. It was motivated by \n<a href=\"https://www.kaggle.com/ren4yu/aptos-2019-probing-private-test-image-sizes\">this kernel</a>. Basically, the idea is to run inference on the private test data with a reliable model and tally the distribution of grades and finally replace labels for public test data with submissions of which kappa values are known based on the distribution. </p>\n\n<p>This is the detail. First, you bound the ratio of each grade from 0 to 1 and check whether the ratio for each grade is above or below 0.5. By the first submission, you get to know which half the ratio of each grade falls into through public weighted kappa. In the second round, you start with narrower bounds and keep going. By only 5 submissions, you can bound the distributon within the margin of 0.03125.  Of course, in order to probe reliably, you should have a reliable model to inference on the private test dataset. I used a single model with qwk~0.84. You can see the attached codes to completely grasp how I did it. With the second account, I made about 20 submissions, 10 of which evaporated for debugging and 5 of which were successful for probing. For about 5 submissions, I tried to probe the image size but I noticed that making the second account results in dropout from the competition. I got scared and deleted the account right away (no concrete records left for that but I dimly remember that (1536, 2048), (1746, 2416), (1958, 2588), (2136,3216) take up about 25%).</p>\n\n<p>Here, I share the gist of what I have figured out just to be fairer. </p>\n\n<h3>The private test data would be very similar to the public training dataset.</h3>\n\n<p>Followings are the lower bound and the upper bound of label distributions with a single reliable model (qwk~0.84). I assumed that the number of the private test dataset amounts to 13,000.</p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F0ba9302174257b80c027b61b70a2a63d%2Fprivate_test_prediction_upperbound.png?generation=1567780509125169&amp;alt=media\" alt=\"lower bound\">\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F195289b414eadcc0c4dee56310ef9cec%2Fprivate_test_prediction_upperbound.png?generation=1567780525902792&amp;alt=media\" alt=\"upper bound\"></p>\n\n<p>I know it's too late. I have no words for that. I may get kicked out of the competition for making the second account and probing the private test dataset. However, I'm publishing this post hoping for our company VUNO INC. not to get tarnished by my misbehavior.</p>\n\n<p>By the time I created a second account, I was overwhelmed by thoughts that others would do probe the private test dataset or have already finished probing the private dataset. I knew it was illegal but couldn't help doing it when I thought I might get fall behind. It's my fault not to follow discussion threads which warn enough about the harsh consequences of the fraudulent behavior.</p>\n\n<p>However, our team did not make many submissions so far (139 submissions). The total amount of submissions is far below 200 even though submissions from the second account were added. :) Also, we share the information we have known with the second account with all kaggler :). We hope to stick to the competition. :)</p>",
  "messages": [
    {
      "id": "619769",
      "postDate": "09/06/2019 14:56:29",
      "content": "<p>Hellow kagglers, I'm a researcher working on optical image analyses including macula-centered, wide fundus and OCT. Personally, I'm a newbie to kaggle and this is my first competition in kaggle. But I participated in many other fundus-related competitions with team name VRT (VUNO RETINA TEAM) (<a href=\"https://idrid.grand-challenge.org/\">IDRiD</a>,  <a href=\"https://refuge.grand-challenge.org/\">REFUGE</a>,  <a href=\"https://palm.grand-challenge.org/\">PALM</a>)</p>\n\n<p>In fact, I made a second account few days ago to probe private test dataset. It was motivated by \n<a href=\"https://www.kaggle.com/ren4yu/aptos-2019-probing-private-test-image-sizes\">this kernel</a>. Basically, the idea is to run inference on the private test data with a reliable model and tally the distribution of grades and finally replace labels for public test data with submissions of which kappa values are known based on the distribution. </p>\n\n<p>This is the detail. First, you bound the ratio of each grade from 0 to 1 and check whether the ratio for each grade is above or below 0.5. By the first submission, you get to know which half the ratio of each grade falls into through public weighted kappa. In the second round, you start with narrower bounds and keep going. By only 5 submissions, you can bound the distributon within the margin of 0.03125.  Of course, in order to probe reliably, you should have a reliable model to inference on the private test dataset. I used a single model with qwk~0.84. You can see the attached codes to completely grasp how I did it. With the second account, I made about 20 submissions, 10 of which evaporated for debugging and 5 of which were successful for probing. For about 5 submissions, I tried to probe the image size but I noticed that making the second account results in dropout from the competition. I got scared and deleted the account right away (no concrete records left for that but I dimly remember that (1536, 2048), (1746, 2416), (1958, 2588), (2136,3216) take up about 25%).</p>\n\n<p>Here, I share the gist of what I have figured out just to be fairer. </p>\n\n<h3>The private test data would be very similar to the public training dataset.</h3>\n\n<p>Followings are the lower bound and the upper bound of label distributions with a single reliable model (qwk~0.84). I assumed that the number of the private test dataset amounts to 13,000.</p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F0ba9302174257b80c027b61b70a2a63d%2Fprivate_test_prediction_upperbound.png?generation=1567780509125169&amp;alt=media\" alt=\"lower bound\">\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F195289b414eadcc0c4dee56310ef9cec%2Fprivate_test_prediction_upperbound.png?generation=1567780525902792&amp;alt=media\" alt=\"upper bound\"></p>\n\n<p>I know it's too late. I have no words for that. I may get kicked out of the competition for making the second account and probing the private test dataset. However, I'm publishing this post hoping for our company VUNO INC. not to get tarnished by my misbehavior.</p>\n\n<p>By the time I created a second account, I was overwhelmed by thoughts that others would do probe the private test dataset or have already finished probing the private dataset. I knew it was illegal but couldn't help doing it when I thought I might get fall behind. It's my fault not to follow discussion threads which warn enough about the harsh consequences of the fraudulent behavior.</p>\n\n<p>However, our team did not make many submissions so far (139 submissions). The total amount of submissions is far below 200 even though submissions from the second account were added. :) Also, we share the information we have known with the second account with all kaggler :). We hope to stick to the competition. :)</p>",
      "rawMarkdown": "Hellow kagglers, I'm a researcher working on optical image analyses including macula-centered, wide fundus and OCT. Personally, I'm a newbie to kaggle and this is my first competition in kaggle. But I participated in many other fundus-related competitions with team name VRT (VUNO RETINA TEAM) ([IDRiD](https://idrid.grand-challenge.org/),  [REFUGE](https://refuge.grand-challenge.org/),  [PALM](https://palm.grand-challenge.org/))\n\nIn fact, I made a second account few days ago to probe private test dataset. It was motivated by \n[this kernel](https://www.kaggle.com/ren4yu/aptos-2019-probing-private-test-image-sizes). Basically, the idea is to run inference on the private test data with a reliable model and tally the distribution of grades and finally replace labels for public test data with submissions of which kappa values are known based on the distribution. \n\nThis is the detail. First, you bound the ratio of each grade from 0 to 1 and check whether the ratio for each grade is above or below 0.5. By the first submission, you get to know which half the ratio of each grade falls into through public weighted kappa. In the second round, you start with narrower bounds and keep going. By only 5 submissions, you can bound the distributon within the margin of 0.03125.  Of course, in order to probe reliably, you should have a reliable model to inference on the private test dataset. I used a single model with qwk~0.84. You can see the attached codes to completely grasp how I did it. With the second account, I made about 20 submissions, 10 of which evaporated for debugging and 5 of which were successful for probing. For about 5 submissions, I tried to probe the image size but I noticed that making the second account results in dropout from the competition. I got scared and deleted the account right away (no concrete records left for that but I dimly remember that (1536, 2048), (1746, 2416), (1958, 2588), (2136,3216) take up about 25%).\n\nHere, I share the gist of what I have figured out just to be fairer. \n### The private test data would be very similar to the public training dataset.\nFollowings are the lower bound and the upper bound of label distributions with a single reliable model (qwk~0.84). I assumed that the number of the private test dataset amounts to 13,000.\n\n![lower bound](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F0ba9302174257b80c027b61b70a2a63d%2Fprivate_test_prediction_upperbound.png?generation=1567780509125169&amp;alt=media)\n![upper bound](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F195289b414eadcc0c4dee56310ef9cec%2Fprivate_test_prediction_upperbound.png?generation=1567780525902792&amp;alt=media)\n\nI know it's too late. I have no words for that. I may get kicked out of the competition for making the second account and probing the private test dataset. However, I'm publishing this post hoping for our company VUNO INC. not to get tarnished by my misbehavior.\n\nBy the time I created a second account, I was overwhelmed by thoughts that others would do probe the private test dataset or have already finished probing the private dataset. I knew it was illegal but couldn't help doing it when I thought I might get fall behind. It's my fault not to follow discussion threads which warn enough about the harsh consequences of the fraudulent behavior.\n\nHowever, our team did not make many submissions so far (139 submissions). The total amount of submissions is far below 200 even though submissions from the second account were added. :) Also, we share the information we have known with the second account with all kaggler :). We hope to stick to the competition. :)",
      "votes": null
    },
    {
      "id": "619772",
      "postDate": "09/06/2019 14:58:17",
      "content": "<p>** I made a second account **</p>\n\n<p>This is against the rules if i understand correctly... </p>",
      "rawMarkdown": "** I made a second account **\n\n\nThis is against the rules if i understand correctly...",
      "votes": null
    },
    {
      "id": "619774",
      "postDate": "09/06/2019 15:01:26",
      "content": "<p>Yes, you're right. No words for that. I did not know much about the consequences of that behavior. It's a shame to get kicked out from the leader board. To be less shameful, I'm sharing the information I gained from the second account.</p>",
      "rawMarkdown": "Yes, you're right. No words for that. I did not know much about the consequences of that behavior. It's a shame to get kicked out from the leader board. To be less shameful, I'm sharing the information I gained from the second account.",
      "votes": null
    },
    {
      "id": "619778",
      "postDate": "09/06/2019 15:03:26",
      "content": "<p>Also you could have posted this information with python scripts after competition ends... </p>",
      "rawMarkdown": "Also you could have posted this information with python scripts after competition ends...",
      "votes": null
    },
    {
      "id": "619781",
      "postDate": "09/06/2019 15:09:25",
      "content": "<p>You can see the python scripts. I did not know I'm going to get kicked out of the competition if I make two accounts. Before getting deleted, I'm sharing the information. In fact, I'm a bit confused of defition of \"multiple accounts\". If I make 5 accounts from the start and merge the team, is it still legal?</p>",
      "rawMarkdown": "You can see the python scripts. I did not know I'm going to get kicked out of the competition if I make two accounts. Before getting deleted, I'm sharing the information. In fact, I'm a bit confused of defition of \"multiple accounts\". If I make 5 accounts from the start and merge the team, is it still legal?",
      "votes": null
    },
    {
      "id": "619783",
      "postDate": "09/06/2019 15:11:24",
      "content": "<p><a href=\"/jaeminkkk\">@jaeminkkk</a> I appreciate your honesty, but I'm closing this post until after the competition has closed to limit the distribution of the python scripts.</p>",
      "rawMarkdown": "jaeminkkk I appreciate your honesty, but I'm closing this post until after the competition has closed to limit the distribution of the python scripts.",
      "votes": null
    },
    {
      "id": "620778",
      "postDate": "09/08/2019 00:46:25",
      "content": "<p>This is interesting work and I don't think this would have been illegal if you didn't use a second account to make submissions. Anyway, I hope your hard work does not go to waste.</p>",
      "rawMarkdown": "This is interesting work and I don't think this would have been illegal if you didn't use a second account to make submissions. Anyway, I hope your hard work does not go to waste.",
      "votes": null
    },
    {
      "id": "620932",
      "postDate": "09/08/2019 04:36:21",
      "content": "<p>I did not use the second account for testing my models... In fact, I didn't have to make a new account to probe the private test set... I left several daily quotas in the last days LoL So regretful!</p>",
      "rawMarkdown": "I did not use the second account for testing my models... In fact, I didn't have to make a new account to probe the private test set... I left several daily quotas in the last days LoL So regretful!",
      "votes": null
    },
    {
      "id": "621363",
      "postDate": "09/08/2019 13:16:48",
      "content": "<p><a href=\"/jaeminkkk\">@jaeminkkk</a>, you are 43rd on this competition right now before cheaters accounts are removed.</p>\n\n<blockquote>\n  <p>I knew it was illegal but couldn't help doing it when I thought I might get fall behind. </p>\n</blockquote>\n\n<p>It is always a good idea to read the rules before joining any competition. And if you think about doing something so obvious as LB probing, perhaps you should pause and ask yourself what if everyone does that? Common sense usually can guide one on the right path.</p>",
      "rawMarkdown": "jaeminkkk, you are 43rd on this competition right now before cheaters accounts are removed.\n\n&gt; I knew it was illegal but couldn't help doing it when I thought I might get fall behind. \n\nIt is always a good idea to read the rules before joining any competition. And if you think about doing something so obvious as LB probing, perhaps you should pause and ask yourself what if everyone does that? Common sense usually can guide one on the right path.",
      "votes": null
    },
    {
      "id": "621519",
      "postDate": "09/08/2019 16:03:33",
      "content": "<p>You're right. I was too blind at that time. Making a second ID was a worse choice. I saw top rankers still make active submissions even though qwk seems to saturate for the public test set which mainly consists of grade 2. With simple simulations, you can simply know that improving kappa when one grade is largely dominant is difficult and it would lead to overfitting (which I suffered). Then, I thought it could be a private test probing and I lost my mind. Or that would be just my misconceptions. I learned some lessons though. </p>",
      "rawMarkdown": "You're right. I was too blind at that time. Making a second ID was a worse choice. I saw top rankers still make active submissions even though qwk seems to saturate for the public test set which mainly consists of grade 2. With simple simulations, you can simply know that improving kappa when one grade is largely dominant is difficult and it would lead to overfitting (which I suffered). Then, I thought it could be a private test probing and I lost my mind. Or that would be just my misconceptions. I learned some lessons though.",
      "votes": null
    },
    {
      "id": "621613",
      "postDate": "09/08/2019 18:04:14",
      "content": "<p>No problem <a href=\"/jaeminkkk\">@jaeminkkk</a>, we all make mistakes. Be careful next time even when merging with people, ask question about the rules. One person in a team breaking the rule leads to a painful team disqualification. See you in the next one :)</p>",
      "rawMarkdown": "No problem @jaeminkkk, we all make mistakes. Be careful next time even when merging with people, ask question about the rules. One person in a team breaking the rule leads to a painful team disqualification. See you in the next one :)",
      "votes": null
    },
    {
      "id": "621652",
      "postDate": "09/08/2019 19:49:08",
      "content": "<p>If I understand it correctly, this post was published 2 days before the competition ends, it was seen by some of the competitors. It was closed at that time and then released after the competitions ends by <a href=\"/sohier\">@sohier</a> ?</p>",
      "rawMarkdown": "If I understand it correctly, this post was published 2 days before the competition ends, it was seen by some of the competitors. It was closed at that time and then released after the competitions ends by @sohier ?",
      "votes": null
    },
    {
      "id": "621661",
      "postDate": "09/08/2019 20:07:44",
      "content": "<p>Yes, I saw this too 2 days ago. And at that time we were 5th place and they were 4th, I was really about to open it up.....😈</p>",
      "rawMarkdown": "Yes, I saw this too 2 days ago. And at that time we were 5th place and they were 4th, I was really about to open it up.....😈",
      "votes": null
    },
    {
      "id": "621694",
      "postDate": "09/08/2019 20:44:54",
      "content": "<p><a href=\"/seesee\">@seesee</a> \n<a href=\"https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/97652\">https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/97652</a>\n<code>Have fun reconstructing the private test images one bit at a time! This is no leakage.</code>\nHave you changed your mind? :)</p>",
      "rawMarkdown": "seesee \nhttps://www.kaggle.com/c/aptos2019-blindness-detection/discussion/97652\n```Have fun reconstructing the private test images one bit at a time! This is no leakage.```\nHave you changed your mind? :)",
      "votes": null
    },
    {
      "id": "621788",
      "postDate": "09/09/2019 00:32:02",
      "content": "<p>I have a complicated feeling about it now...</p>",
      "rawMarkdown": "I have a complicated feeling about it now...",
      "votes": null
    },
    {
      "id": "622384",
      "postDate": "09/09/2019 15:20:00",
      "content": "<p>Yes, multiple accounts are banned regardless of whether they end up on the same team.</p>\n\n<p>I just happened to double check the rules page for something else and that turns out to be literally the first rule.</p>",
      "rawMarkdown": "Yes, multiple accounts are banned regardless of whether they end up on the same team.\n\nI just happened to double check the rules page for something else and that turns out to be literally the first rule.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 619772,
      "author_name": "drhabib",
      "author_url": "",
      "post_date": "09/06/2019 14:58:17",
      "content": "<p>** I made a second account **</p>\n\n<p>This is against the rules if i understand correctly... </p>",
      "votes": null,
      "replies": [
        {
          "id": 619774,
          "author_name": "jaeminkkk",
          "author_url": "",
          "post_date": "09/06/2019 15:01:26",
          "content": "<p>Yes, you're right. No words for that. I did not know much about the consequences of that behavior. It's a shame to get kicked out from the leader board. To be less shameful, I'm sharing the information I gained from the second account.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 619778,
          "author_name": "drhabib",
          "author_url": "",
          "post_date": "09/06/2019 15:03:26",
          "content": "<p>Also you could have posted this information with python scripts after competition ends... </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 619781,
          "author_name": "jaeminkkk",
          "author_url": "",
          "post_date": "09/06/2019 15:09:25",
          "content": "<p>You can see the python scripts. I did not know I'm going to get kicked out of the competition if I make two accounts. Before getting deleted, I'm sharing the information. In fact, I'm a bit confused of defition of \"multiple accounts\". If I make 5 accounts from the start and merge the team, is it still legal?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 622384,
          "author_name": "sohier",
          "author_url": "",
          "post_date": "09/09/2019 15:20:00",
          "content": "<p>Yes, multiple accounts are banned regardless of whether they end up on the same team.</p>\n\n<p>I just happened to double check the rules page for something else and that turns out to be literally the first rule.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 619783,
      "author_name": "sohier",
      "author_url": "",
      "post_date": "09/06/2019 15:11:24",
      "content": "<p><a href=\"/jaeminkkk\">@jaeminkkk</a> I appreciate your honesty, but I'm closing this post until after the competition has closed to limit the distribution of the python scripts.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 620778,
      "author_name": "tanlikesmath",
      "author_url": "",
      "post_date": "09/08/2019 00:46:25",
      "content": "<p>This is interesting work and I don't think this would have been illegal if you didn't use a second account to make submissions. Anyway, I hope your hard work does not go to waste.</p>",
      "votes": null,
      "replies": [
        {
          "id": 620932,
          "author_name": "jaeminkkk",
          "author_url": "",
          "post_date": "09/08/2019 04:36:21",
          "content": "<p>I did not use the second account for testing my models... In fact, I didn't have to make a new account to probe the private test set... I left several daily quotas in the last days LoL So regretful!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 621363,
      "author_name": "sheriytm",
      "author_url": "",
      "post_date": "09/08/2019 13:16:48",
      "content": "<p><a href=\"/jaeminkkk\">@jaeminkkk</a>, you are 43rd on this competition right now before cheaters accounts are removed.</p>\n\n<blockquote>\n  <p>I knew it was illegal but couldn't help doing it when I thought I might get fall behind. </p>\n</blockquote>\n\n<p>It is always a good idea to read the rules before joining any competition. And if you think about doing something so obvious as LB probing, perhaps you should pause and ask yourself what if everyone does that? Common sense usually can guide one on the right path.</p>",
      "votes": null,
      "replies": [
        {
          "id": 621519,
          "author_name": "jaeminkkk",
          "author_url": "",
          "post_date": "09/08/2019 16:03:33",
          "content": "<p>You're right. I was too blind at that time. Making a second ID was a worse choice. I saw top rankers still make active submissions even though qwk seems to saturate for the public test set which mainly consists of grade 2. With simple simulations, you can simply know that improving kappa when one grade is largely dominant is difficult and it would lead to overfitting (which I suffered). Then, I thought it could be a private test probing and I lost my mind. Or that would be just my misconceptions. I learned some lessons though. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 621613,
          "author_name": "sheriytm",
          "author_url": "",
          "post_date": "09/08/2019 18:04:14",
          "content": "<p>No problem <a href=\"/jaeminkkk\">@jaeminkkk</a>, we all make mistakes. Be careful next time even when merging with people, ask question about the rules. One person in a team breaking the rule leads to a painful team disqualification. See you in the next one :)</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 621652,
      "author_name": "naivelamb",
      "author_url": "",
      "post_date": "09/08/2019 19:49:08",
      "content": "<p>If I understand it correctly, this post was published 2 days before the competition ends, it was seen by some of the competitors. It was closed at that time and then released after the competitions ends by <a href=\"/sohier\">@sohier</a> ?</p>",
      "votes": null,
      "replies": [
        {
          "id": 621661,
          "author_name": "bamps53",
          "author_url": "",
          "post_date": "09/08/2019 20:07:44",
          "content": "<p>Yes, I saw this too 2 days ago. And at that time we were 5th place and they were 4th, I was really about to open it up.....😈</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 621788,
          "author_name": "naivelamb",
          "author_url": "",
          "post_date": "09/09/2019 00:32:02",
          "content": "<p>I have a complicated feeling about it now...</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 621694,
      "author_name": "artyomp",
      "author_url": "",
      "post_date": "09/08/2019 20:44:54",
      "content": "<p><a href=\"/seesee\">@seesee</a> \n<a href=\"https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/97652\">https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/97652</a>\n<code>Have fun reconstructing the private test images one bit at a time! This is no leakage.</code>\nHave you changed your mind? :)</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "619769": "Hellow kagglers, I'm a researcher working on optical image analyses including macula-centered, wide fundus and OCT. Personally, I'm a newbie to kaggle and this is my first competition in kaggle. But I participated in many other fundus-related competitions with team name VRT (VUNO RETINA TEAM) ([IDRiD](https://idrid.grand-challenge.org/),  [REFUGE](https://refuge.grand-challenge.org/),  [PALM](https://palm.grand-challenge.org/))\n\nIn fact, I made a second account few days ago to probe private test dataset. It was motivated by \n[this kernel](https://www.kaggle.com/ren4yu/aptos-2019-probing-private-test-image-sizes). Basically, the idea is to run inference on the private test data with a reliable model and tally the distribution of grades and finally replace labels for public test data with submissions of which kappa values are known based on the distribution. \n\nThis is the detail. First, you bound the ratio of each grade from 0 to 1 and check whether the ratio for each grade is above or below 0.5. By the first submission, you get to know which half the ratio of each grade falls into through public weighted kappa. In the second round, you start with narrower bounds and keep going. By only 5 submissions, you can bound the distributon within the margin of 0.03125.  Of course, in order to probe reliably, you should have a reliable model to inference on the private test dataset. I used a single model with qwk~0.84. You can see the attached codes to completely grasp how I did it. With the second account, I made about 20 submissions, 10 of which evaporated for debugging and 5 of which were successful for probing. For about 5 submissions, I tried to probe the image size but I noticed that making the second account results in dropout from the competition. I got scared and deleted the account right away (no concrete records left for that but I dimly remember that (1536, 2048), (1746, 2416), (1958, 2588), (2136,3216) take up about 25%).\n\nHere, I share the gist of what I have figured out just to be fairer. \n### The private test data would be very similar to the public training dataset.\nFollowings are the lower bound and the upper bound of label distributions with a single reliable model (qwk~0.84). I assumed that the number of the private test dataset amounts to 13,000.\n\n![lower bound](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F0ba9302174257b80c027b61b70a2a63d%2Fprivate_test_prediction_upperbound.png?generation=1567780509125169&amp;alt=media)\n![upper bound](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F728436%2F195289b414eadcc0c4dee56310ef9cec%2Fprivate_test_prediction_upperbound.png?generation=1567780525902792&amp;alt=media)\n\nI know it's too late. I have no words for that. I may get kicked out of the competition for making the second account and probing the private test dataset. However, I'm publishing this post hoping for our company VUNO INC. not to get tarnished by my misbehavior.\n\nBy the time I created a second account, I was overwhelmed by thoughts that others would do probe the private test dataset or have already finished probing the private dataset. I knew it was illegal but couldn't help doing it when I thought I might get fall behind. It's my fault not to follow discussion threads which warn enough about the harsh consequences of the fraudulent behavior.\n\nHowever, our team did not make many submissions so far (139 submissions). The total amount of submissions is far below 200 even though submissions from the second account were added. :) Also, we share the information we have known with the second account with all kaggler :). We hope to stick to the competition. :)",
    "619772": "** I made a second account **\n\n\nThis is against the rules if i understand correctly...",
    "619774": "Yes, you're right. No words for that. I did not know much about the consequences of that behavior. It's a shame to get kicked out from the leader board. To be less shameful, I'm sharing the information I gained from the second account.",
    "619778": "Also you could have posted this information with python scripts after competition ends...",
    "619781": "You can see the python scripts. I did not know I'm going to get kicked out of the competition if I make two accounts. Before getting deleted, I'm sharing the information. In fact, I'm a bit confused of defition of \"multiple accounts\". If I make 5 accounts from the start and merge the team, is it still legal?",
    "619783": "jaeminkkk I appreciate your honesty, but I'm closing this post until after the competition has closed to limit the distribution of the python scripts.",
    "620778": "This is interesting work and I don't think this would have been illegal if you didn't use a second account to make submissions. Anyway, I hope your hard work does not go to waste.",
    "620932": "I did not use the second account for testing my models... In fact, I didn't have to make a new account to probe the private test set... I left several daily quotas in the last days LoL So regretful!",
    "621363": "jaeminkkk, you are 43rd on this competition right now before cheaters accounts are removed.\n\n&gt; I knew it was illegal but couldn't help doing it when I thought I might get fall behind. \n\nIt is always a good idea to read the rules before joining any competition. And if you think about doing something so obvious as LB probing, perhaps you should pause and ask yourself what if everyone does that? Common sense usually can guide one on the right path.",
    "621519": "You're right. I was too blind at that time. Making a second ID was a worse choice. I saw top rankers still make active submissions even though qwk seems to saturate for the public test set which mainly consists of grade 2. With simple simulations, you can simply know that improving kappa when one grade is largely dominant is difficult and it would lead to overfitting (which I suffered). Then, I thought it could be a private test probing and I lost my mind. Or that would be just my misconceptions. I learned some lessons though.",
    "621613": "No problem @jaeminkkk, we all make mistakes. Be careful next time even when merging with people, ask question about the rules. One person in a team breaking the rule leads to a painful team disqualification. See you in the next one :)",
    "621652": "If I understand it correctly, this post was published 2 days before the competition ends, it was seen by some of the competitors. It was closed at that time and then released after the competitions ends by @sohier ?",
    "621661": "Yes, I saw this too 2 days ago. And at that time we were 5th place and they were 4th, I was really about to open it up.....😈",
    "621694": "seesee \nhttps://www.kaggle.com/c/aptos2019-blindness-detection/discussion/97652\n```Have fun reconstructing the private test images one bit at a time! This is no leakage.```\nHave you changed your mind? :)",
    "621788": "I have a complicated feeling about it now...",
    "622384": "Yes, multiple accounts are banned regardless of whether they end up on the same team.\n\nI just happened to double check the rules page for something else and that turns out to be literally the first rule."
  },
  "source": "meta"
}