{
  "id": 78903,
  "title": "Not able to break LB 3.680 ( Single Model)",
  "url": "/competitions/elo-merchant-category-recommendation/discussion/78903",
  "author_name": "SubikashPal",
  "post_date": "2019-01-29T02:37:24.205000",
  "votes": 4,
  "comment_count": 44,
  "views": 0,
  "content": "<p>My single LGB model is currently scoring 3.680 just doing aggregation based feature engineering.\nIt would be nice if anyone who is able to break the single model margin and guide me to break the same :)</p>",
  "messages": [
    {
      "id": 463667,
      "postDate": "2019-01-30T11:58:39.840Z",
      "content": "<p>I think we can get past 3.680. ;)\n1) Uniform distribution of train data:</p>\n\n<pre><code>train['rounded_target'] = train['target'].round(0)\ntrain = train.sort_values('rounded_target').reset_index(drop=True)\nvc = train['rounded_target'].value_counts()\nvc = dict(sorted(vc.items()))\ndf = pd.DataFrame()\ntrain['indexcol'],i = 0,1\nfor k,v in vc.items():\n    step = train.shape[0]/v\n    indent = train.shape[0]/(v+1)\n    df2 = train[train['rounded_target'] == k].sample(v, random_state=120).reset_index(drop=True)\n    for j in range(0, v):\n        df2.at[j, 'indexcol'] = indent + j*step + 0.000001*i\n    df = pd.concat([df2,df])\n    i+=1\ntrain = df.sort_values('indexcol', ascending=True).reset_index(drop=True)\ndel train['indexcol'], train['rounded_target']\n</code></pre>\n\n<p>2) KFold: n_splits=5-7, shuffle=False!</p>\n\n<p>Keep Rockin')</p>",
      "rawMarkdown": "I think we can get past 3.680. ;)\n1) Uniform distribution of train data:\n\n    train['rounded_target'] = train['target'].round(0)\n    train = train.sort_values('rounded_target').reset_index(drop=True)\n    vc = train['rounded_target'].value_counts()\n    vc = dict(sorted(vc.items()))\n    df = pd.DataFrame()\n    train['indexcol'],i = 0,1\n    for k,v in vc.items():\n        step = train.shape[0]/v\n        indent = train.shape[0]/(v+1)\n        df2 = train[train['rounded_target'] == k].sample(v, random_state=120).reset_index(drop=True)\n        for j in range(0, v):\n            df2.at[j, 'indexcol'] = indent + j*step + 0.000001*i\n        df = pd.concat([df2,df])\n        i+=1\n    train = df.sort_values('indexcol', ascending=True).reset_index(drop=True)\n    del train['indexcol'], train['rounded_target']\n\n2) KFold: n_splits=5-7, shuffle=False!\n\nKeep Rockin')",
      "votes": 14,
      "replies": [
        {
          "id": 463790,
          "postDate": "2019-01-30T16:05:50.517Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 463985,
          "postDate": "2019-01-31T02:26:37.980Z",
          "rawMarkdown": "",
          "votes": 1,
          "isDeleted": true
        },
        {
          "id": 464122,
          "postDate": "2019-01-31T08:29:26.527Z",
          "content": "<p>Thank you. let me try to implement the same.</p>",
          "rawMarkdown": "Thank you. let me try to implement the same."
        },
        {
          "id": 464124,
          "postDate": "2019-01-31T08:31:41.573Z",
          "content": "<p>Whats your best score without classification of outliers.</p>",
          "rawMarkdown": "Whats your best score without classification of outliers."
        },
        {
          "id": 465491,
          "postDate": "2019-02-03T08:57:43.680Z",
          "content": "<p>The first strategy is similar to adding weights to the samples. I try to add weights to -33 but fails.  May I ask how much gain can you get underline and online using the first sampling strategy?</p>",
          "rawMarkdown": "The first strategy is similar to adding weights to the samples. I try to add weights to -33 but fails.  May I ask how much gain can you get underline and online using the first sampling strategy?\n\n"
        }
      ]
    },
    {
      "id": 464564,
      "postDate": "2019-02-01T04:53:45.800Z",
      "content": "<p>3.680 is broken now :). 3.77 now.</p>",
      "rawMarkdown": "3.680 is broken now :). 3.77 now.",
      "votes": 3,
      "replies": [
        {
          "id": 464574,
          "postDate": "2019-02-01T05:18:03.687Z",
          "content": "<p>congratulations :D :D i also reached 3.682</p>",
          "rawMarkdown": "congratulations :D :D i also reached 3.682"
        },
        {
          "id": 464602,
          "postDate": "2019-02-01T06:28:13.137Z",
          "content": "<p>so your team has other members whose single model performance is quite good.</p>",
          "rawMarkdown": "so your team has other members whose single model performance is quite good."
        },
        {
          "id": 464604,
          "postDate": "2019-02-01T06:30:32.793Z",
          "content": "<p>:D </p>",
          "rawMarkdown": ":D "
        },
        {
          "id": 464660,
          "postDate": "2019-02-01T08:43:08.840Z",
          "content": "<p>Did uniform distribution of train data help in this process..</p>",
          "rawMarkdown": "Did uniform distribution of train data help in this process.."
        },
        {
          "id": 464667,
          "postDate": "2019-02-01T09:01:45.120Z",
          "content": "<p>Yes it helped along with some other aggregation.</p>",
          "rawMarkdown": "Yes it helped along with some other aggregation.",
          "votes": 2
        },
        {
          "id": 464669,
          "postDate": "2019-02-01T09:12:53.787Z",
          "content": "<p>Thanks...</p>",
          "rawMarkdown": "Thanks..."
        },
        {
          "id": 469047,
          "postDate": "2019-02-10T11:39:59.157Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 462854,
      "postDate": "2019-01-29T02:37:24.207Z",
      "content": "<p>My single LGB model is currently scoring 3.680 just doing aggregation based feature engineering.\nIt would be nice if anyone who is able to break the single model margin and guide me to break the same :)</p>",
      "rawMarkdown": "My single LGB model is currently scoring 3.680 just doing aggregation based feature engineering.\nIt would be nice if anyone who is able to break the single model margin and guide me to break the same :)",
      "votes": 4
    },
    {
      "id": 463773,
      "postDate": "2019-01-30T15:45:39.700Z",
      "content": "<p>I'm stuck at 3691 and don't realize how to get more ideas on my features construction, already tried to manipulate the date in so many ways and doing some aggregation with hist/new's categorie_1 and the purchase_amount. \nMay you guys help me to figure out new aggregations if it's possible?</p>",
      "rawMarkdown": "I'm stuck at 3691 and don't realize how to get more ideas on my features construction, already tried to manipulate the date in so many ways and doing some aggregation with hist/new's categorie_1 and the purchase_amount. \nMay you guys help me to figure out new aggregations if it's possible?",
      "votes": 1
    },
    {
      "id": 462885,
      "postDate": "2019-01-29T04:06:28.117Z",
      "content": "<p>wow. awesome. i don't break single 3.685  :(   (now 3.687)</p>",
      "rawMarkdown": "wow. awesome. i don't break single 3.685  :(   (now 3.687)",
      "votes": 1,
      "replies": [
        {
          "id": 462898,
          "postDate": "2019-01-29T04:36:10.227Z",
          "content": "<p>me too, 3.687...</p>",
          "rawMarkdown": "me too, 3.687...",
          "votes": 1
        },
        {
          "id": 463491,
          "postDate": "2019-01-30T04:29:31.253Z",
          "content": "<p>i reach 3.683 :D fighting !!</p>",
          "rawMarkdown": "i reach 3.683 :D fighting !!",
          "votes": 1
        },
        {
          "id": 463530,
          "postDate": "2019-01-30T06:18:25.370Z",
          "content": "<p>looks like your post processing is quite good.</p>",
          "rawMarkdown": "looks like your post processing is quite good.",
          "votes": 2
        },
        {
          "id": 463564,
          "postDate": "2019-01-30T07:35:13.140Z",
          "content": "<p>haha :D it's not my post processing score. my team member doing well... </p>",
          "rawMarkdown": "haha :D it's not my post processing score. my team member doing well... ",
          "votes": 1
        },
        {
          "id": 463604,
          "postDate": "2019-01-30T09:18:30.260Z",
          "content": "<p>Thats more than good news. Isn't it?</p>",
          "rawMarkdown": "Thats more than good news. Isn't it?"
        },
        {
          "id": 463605,
          "postDate": "2019-01-30T09:28:34.070Z",
          "content": "<p>:D</p>",
          "rawMarkdown": ":D"
        }
      ]
    },
    {
      "id": 468321,
      "postDate": "2019-02-08T17:07:11.073Z",
      "content": "<p>can't break 3.685, any tips? :)</p>",
      "rawMarkdown": "can't break 3.685, any tips? :)",
      "replies": [
        {
          "id": 468322,
          "postDate": "2019-02-08T17:10:14.473Z",
          "content": "<p>from 3.685 , how did u get current score?</p>\n\n<p>did u try target distribution?</p>",
          "rawMarkdown": "from 3.685 , how did u get current score?\n\ndid u try target distribution?"
        },
        {
          "id": 468352,
          "postDate": "2019-02-08T18:32:22.927Z",
          "content": "<p>My models score between 3.685 and 3.688 now, I get to 3.671 with ensembling and some post-processing. Target distribution improved my best model by 0.001 from 3.686 to 3.686. How much did it improve yours by? </p>",
          "rawMarkdown": "My models score between 3.685 and 3.688 now, I get to 3.671 with ensembling and some post-processing. Target distribution improved my best model by 0.001 from 3.686 to 3.686. How much did it improve yours by? "
        },
        {
          "id": 468511,
          "postDate": "2019-02-09T02:57:05.950Z",
          "content": "<p>same kind of improvement for me also.</p>",
          "rawMarkdown": "same kind of improvement for me also."
        },
        {
          "id": 468615,
          "postDate": "2019-02-09T09:40:36.490Z",
          "content": "<p>what is <code>target distribution</code>?</p>",
          "rawMarkdown": "what is `target distribution`?",
          "votes": 6
        }
      ]
    },
    {
      "id": 464545,
      "postDate": "2019-02-01T04:13:45.923Z",
      "content": "<p><a href=\"/subikashpal\">@subikashpal</a> How many features are you using in total?</p>",
      "rawMarkdown": "@subikashpal How many features are you using in total?"
    },
    {
      "id": 463746,
      "postDate": "2019-01-30T14:21:34.270Z",
      "content": "<p>I am not able to break the wall either. <br>\nI really feel like I am missing a key feature...</p>",
      "rawMarkdown": "I am not able to break the wall either.  \nI really feel like I am missing a key feature..."
    },
    {
      "id": 463680,
      "postDate": "2019-01-30T12:20:10.523Z",
      "content": "<p>I am stuck at 3.810. Can you help me with it?</p>",
      "rawMarkdown": "I am stuck at 3.810. Can you help me with it?\n",
      "replies": [
        {
          "id": 463692,
          "postDate": "2019-01-30T12:40:43.070Z",
          "content": "<p>Do aggregation as much as possible. There are some kernels available which are having 3.69+. Use that as baseline.</p>",
          "rawMarkdown": "Do aggregation as much as possible. There are some kernels available which are having 3.69+. Use that as baseline."
        },
        {
          "id": 464590,
          "postDate": "2019-02-01T06:03:05.333Z",
          "content": "<p><a href=\"/subikashpal\">@subikashpal</a> Did you use aggregations and then reduce the features or use them all?</p>",
          "rawMarkdown": "@subikashpal Did you use aggregations and then reduce the features or use them all?"
        },
        {
          "id": 464603,
          "postDate": "2019-02-01T06:28:54.530Z",
          "content": "<p>Reducing some features manually. I have around 250+ features.</p>",
          "rawMarkdown": "Reducing some features manually. I have around 250+ features."
        }
      ]
    },
    {
      "id": 462998,
      "postDate": "2019-01-29T08:04:26.900Z",
      "content": "<p>I'm also hovering around the same score but there is some randomness in my model possibly because of using current date in features. I'm currently getting 3.682 without post processing. </p>",
      "rawMarkdown": "I'm also hovering around the same score but there is some randomness in my model possibly because of using current date in features. I'm currently getting 3.682 without post processing. ",
      "replies": [
        {
          "id": 463649,
          "postDate": "2019-01-30T11:16:44.037Z",
          "content": "<p>Out of curiosity, what do you mean by postprocessing?</p>",
          "rawMarkdown": "Out of curiosity, what do you mean by postprocessing?"
        },
        {
          "id": 463683,
          "postDate": "2019-01-30T12:28:00.187Z",
          "content": "<p>What I mean is I'm following the 3 model approach like many in the competition. The post processing I was referring to is training without outliers and classifying outliers and merging etc.. Sorry for the confusion. </p>",
          "rawMarkdown": "What I mean is I'm following the 3 model approach like many in the competition. The post processing I was referring to is training without outliers and classifying outliers and merging etc.. Sorry for the confusion. "
        },
        {
          "id": 463686,
          "postDate": "2019-01-30T12:28:35.920Z",
          "content": "<p>May be post-processing here means to assign -33 values to some cardid having classification probability &gt; some threshold.</p>",
          "rawMarkdown": "May be post-processing here means to assign -33 values to some cardid having classification probability &gt; some threshold.",
          "votes": 1
        },
        {
          "id": 463694,
          "postDate": "2019-01-30T12:43:57.500Z",
          "content": "<p>Just to know, isn't replacing some card id's target values with - 33 giving bad results? Asking just to make sure if it's not the case. </p>",
          "rawMarkdown": "Just to know, isn't replacing some card id's target values with - 33 giving bad results? Asking just to make sure if it's not the case. "
        },
        {
          "id": 463726,
          "postDate": "2019-01-30T13:42:15.413Z",
          "content": "<p>Its giving me a good boost but be careful on the threshold.</p>",
          "rawMarkdown": "Its giving me a good boost but be careful on the threshold."
        },
        {
          "id": 463889,
          "postDate": "2019-01-30T20:52:19.360Z",
          "content": "<p>If you find the right ids it will really reduce the error, likewise if you have the wrong ids the error will be much larger. -33 is far away from the mean after all. </p>",
          "rawMarkdown": "If you find the right ids it will really reduce the error, likewise if you have the wrong ids the error will be much larger. -33 is far away from the mean after all. "
        },
        {
          "id": 463916,
          "postDate": "2019-01-30T22:21:04.343Z",
          "content": "<p>It would actually be very smart to use your 5 submissions every day, and go through people sorted by your predictions, and change one of them to -33;  after each submission, reset it and try the next ID.</p>\n\n<p>This I believe is called \"probing\" and if you say it really reduces the error, then totally should do it! I think top teams are already doing this and have a large head start !</p>",
          "rawMarkdown": "It would actually be very smart to use your 5 submissions every day, and go through people sorted by your predictions, and change one of them to -33;  after each submission, reset it and try the next ID.\n\nThis I believe is called \"probing\" and if you say it really reduces the error, then totally should do it! I think top teams are already doing this and have a large head start !"
        },
        {
          "id": 463975,
          "postDate": "2019-01-31T01:42:55.270Z",
          "rawMarkdown": "",
          "votes": 5,
          "isDeleted": true
        },
        {
          "id": 463987,
          "postDate": "2019-01-31T02:32:14.630Z",
          "content": "<p>I guess it'd only increase the chances of LB over fitting. </p>",
          "rawMarkdown": "I guess it'd only increase the chances of LB over fitting. ",
          "votes": 2
        },
        {
          "id": 464027,
          "postDate": "2019-01-31T04:36:20.127Z",
          "content": "<p>Are you saying its unreasonable to spend 25000 days to maybe find 1/3 of the test outliers?</p>",
          "rawMarkdown": "Are you saying its unreasonable to spend 25000 days to maybe find 1/3 of the test outliers?"
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 463667,
      "author_name": "Aleksandr Kosolapov",
      "author_url": "",
      "post_date": "2019-01-30T11:58:39.840000",
      "content": "<p>I think we can get past 3.680. ;)\n1) Uniform distribution of train data:</p>\n\n<pre><code>train['rounded_target'] = train['target'].round(0)\ntrain = train.sort_values('rounded_target').reset_index(drop=True)\nvc = train['rounded_target'].value_counts()\nvc = dict(sorted(vc.items()))\ndf = pd.DataFrame()\ntrain['indexcol'],i = 0,1\nfor k,v in vc.items():\n    step = train.shape[0]/v\n    indent = train.shape[0]/(v+1)\n    df2 = train[train['rounded_target'] == k].sample(v, random_state=120).reset_index(drop=True)\n    for j in range(0, v):\n        df2.at[j, 'indexcol'] = indent + j*step + 0.000001*i\n    df = pd.concat([df2,df])\n    i+=1\ntrain = df.sort_values('indexcol', ascending=True).reset_index(drop=True)\ndel train['indexcol'], train['rounded_target']\n</code></pre>\n\n<p>2) KFold: n_splits=5-7, shuffle=False!</p>\n\n<p>Keep Rockin')</p>",
      "votes": 14,
      "replies": [
        {
          "id": 463790,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-01-30T16:05:50.517000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463985,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-01-31T02:26:37.980000",
          "content": "",
          "votes": 1,
          "replies": []
        },
        {
          "id": 464122,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-31T08:29:26.527000",
          "content": "<p>Thank you. let me try to implement the same.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464124,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-31T08:31:41.573000",
          "content": "<p>Whats your best score without classification of outliers.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 465491,
          "author_name": "LongYin/杰少",
          "author_url": "",
          "post_date": "2019-02-03T08:57:43.680000",
          "content": "<p>The first strategy is similar to adding weights to the samples. I try to add weights to -33 but fails.  May I ask how much gain can you get underline and online using the first sampling strategy?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 464564,
      "author_name": "SubikashPal",
      "author_url": "",
      "post_date": "2019-02-01T04:53:45.800000",
      "content": "<p>3.680 is broken now :). 3.77 now.</p>",
      "votes": 3,
      "replies": [
        {
          "id": 464574,
          "author_name": "choco",
          "author_url": "",
          "post_date": "2019-02-01T05:18:03.687000",
          "content": "<p>congratulations :D :D i also reached 3.682</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464602,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-02-01T06:28:13.137000",
          "content": "<p>so your team has other members whose single model performance is quite good.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464604,
          "author_name": "choco",
          "author_url": "",
          "post_date": "2019-02-01T06:30:32.793000",
          "content": "<p>:D </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464660,
          "author_name": "mrxnew",
          "author_url": "",
          "post_date": "2019-02-01T08:43:08.840000",
          "content": "<p>Did uniform distribution of train data help in this process..</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464667,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-02-01T09:01:45.120000",
          "content": "<p>Yes it helped along with some other aggregation.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 464669,
          "author_name": "mrxnew",
          "author_url": "",
          "post_date": "2019-02-01T09:12:53.787000",
          "content": "<p>Thanks...</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 469047,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-02-10T11:39:59.157000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 463773,
      "author_name": "Eric Reis",
      "author_url": "",
      "post_date": "2019-01-30T15:45:39.700000",
      "content": "<p>I'm stuck at 3691 and don't realize how to get more ideas on my features construction, already tried to manipulate the date in so many ways and doing some aggregation with hist/new's categorie_1 and the purchase_amount. \nMay you guys help me to figure out new aggregations if it's possible?</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 462885,
      "author_name": "choco",
      "author_url": "",
      "post_date": "2019-01-29T04:06:28.117000",
      "content": "<p>wow. awesome. i don't break single 3.685  :(   (now 3.687)</p>",
      "votes": 1,
      "replies": [
        {
          "id": 462898,
          "author_name": "Link",
          "author_url": "",
          "post_date": "2019-01-29T04:36:10.227000",
          "content": "<p>me too, 3.687...</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 463491,
          "author_name": "choco",
          "author_url": "",
          "post_date": "2019-01-30T04:29:31.253000",
          "content": "<p>i reach 3.683 :D fighting !!</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 463530,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-30T06:18:25.370000",
          "content": "<p>looks like your post processing is quite good.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 463564,
          "author_name": "choco",
          "author_url": "",
          "post_date": "2019-01-30T07:35:13.140000",
          "content": "<p>haha :D it's not my post processing score. my team member doing well... </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 463604,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-30T09:18:30.260000",
          "content": "<p>Thats more than good news. Isn't it?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463605,
          "author_name": "choco",
          "author_url": "",
          "post_date": "2019-01-30T09:28:34.070000",
          "content": "<p>:D</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 468321,
      "author_name": "Mendrika Ramarlina",
      "author_url": "",
      "post_date": "2019-02-08T17:07:11.073000",
      "content": "<p>can't break 3.685, any tips? :)</p>",
      "votes": 0,
      "replies": [
        {
          "id": 468322,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-02-08T17:10:14.473000",
          "content": "<p>from 3.685 , how did u get current score?</p>\n\n<p>did u try target distribution?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 468352,
          "author_name": "Mendrika Ramarlina",
          "author_url": "",
          "post_date": "2019-02-08T18:32:22.927000",
          "content": "<p>My models score between 3.685 and 3.688 now, I get to 3.671 with ensembling and some post-processing. Target distribution improved my best model by 0.001 from 3.686 to 3.686. How much did it improve yours by? </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 468511,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-02-09T02:57:05.950000",
          "content": "<p>same kind of improvement for me also.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 468615,
          "author_name": "choco",
          "author_url": "",
          "post_date": "2019-02-09T09:40:36.490000",
          "content": "<p>what is <code>target distribution</code>?</p>",
          "votes": 6,
          "replies": []
        }
      ]
    },
    {
      "id": 464545,
      "author_name": "Aditya Vyas",
      "author_url": "",
      "post_date": "2019-02-01T04:13:45.923000",
      "content": "<p><a href=\"/subikashpal\">@subikashpal</a> How many features are you using in total?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 463746,
      "author_name": "pocket",
      "author_url": "",
      "post_date": "2019-01-30T14:21:34.270000",
      "content": "<p>I am not able to break the wall either. <br>\nI really feel like I am missing a key feature...</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 463680,
      "author_name": "sachin",
      "author_url": "",
      "post_date": "2019-01-30T12:20:10.523000",
      "content": "<p>I am stuck at 3.810. Can you help me with it?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 463692,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-30T12:40:43.070000",
          "content": "<p>Do aggregation as much as possible. There are some kernels available which are having 3.69+. Use that as baseline.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464590,
          "author_name": "Aditya Vyas",
          "author_url": "",
          "post_date": "2019-02-01T06:03:05.333000",
          "content": "<p><a href=\"/subikashpal\">@subikashpal</a> Did you use aggregations and then reduce the features or use them all?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 464603,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-02-01T06:28:54.530000",
          "content": "<p>Reducing some features manually. I have around 250+ features.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 462998,
      "author_name": "PiGram",
      "author_url": "",
      "post_date": "2019-01-29T08:04:26.900000",
      "content": "<p>I'm also hovering around the same score but there is some randomness in my model possibly because of using current date in features. I'm currently getting 3.682 without post processing. </p>",
      "votes": 0,
      "replies": [
        {
          "id": 463649,
          "author_name": "Konrad Banachewicz",
          "author_url": "",
          "post_date": "2019-01-30T11:16:44.037000",
          "content": "<p>Out of curiosity, what do you mean by postprocessing?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463683,
          "author_name": "PiGram",
          "author_url": "",
          "post_date": "2019-01-30T12:28:00.187000",
          "content": "<p>What I mean is I'm following the 3 model approach like many in the competition. The post processing I was referring to is training without outliers and classifying outliers and merging etc.. Sorry for the confusion. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463686,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-30T12:28:35.920000",
          "content": "<p>May be post-processing here means to assign -33 values to some cardid having classification probability &gt; some threshold.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 463694,
          "author_name": "PiGram",
          "author_url": "",
          "post_date": "2019-01-30T12:43:57.500000",
          "content": "<p>Just to know, isn't replacing some card id's target values with - 33 giving bad results? Asking just to make sure if it's not the case. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463726,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2019-01-30T13:42:15.413000",
          "content": "<p>Its giving me a good boost but be careful on the threshold.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463889,
          "author_name": "interneuron",
          "author_url": "",
          "post_date": "2019-01-30T20:52:19.360000",
          "content": "<p>If you find the right ids it will really reduce the error, likewise if you have the wrong ids the error will be much larger. -33 is far away from the mean after all. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463916,
          "author_name": "CoreyJamesLevinson",
          "author_url": "",
          "post_date": "2019-01-30T22:21:04.343000",
          "content": "<p>It would actually be very smart to use your 5 submissions every day, and go through people sorted by your predictions, and change one of them to -33;  after each submission, reset it and try the next ID.</p>\n\n<p>This I believe is called \"probing\" and if you say it really reduces the error, then totally should do it! I think top teams are already doing this and have a large head start !</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 463975,
          "author_name": "",
          "author_url": "",
          "post_date": "2019-01-31T01:42:55.270000",
          "content": "",
          "votes": 5,
          "replies": []
        },
        {
          "id": 463987,
          "author_name": "PiGram",
          "author_url": "",
          "post_date": "2019-01-31T02:32:14.630000",
          "content": "<p>I guess it'd only increase the chances of LB over fitting. </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 464027,
          "author_name": "interneuron",
          "author_url": "",
          "post_date": "2019-01-31T04:36:20.127000",
          "content": "<p>Are you saying its unreasonable to spend 25000 days to maybe find 1/3 of the test outliers?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "463667": "I think we can get past 3.680. ;)\n1) Uniform distribution of train data:\n\n    train['rounded_target'] = train['target'].round(0)\n    train = train.sort_values('rounded_target').reset_index(drop=True)\n    vc = train['rounded_target'].value_counts()\n    vc = dict(sorted(vc.items()))\n    df = pd.DataFrame()\n    train['indexcol'],i = 0,1\n    for k,v in vc.items():\n        step = train.shape[0]/v\n        indent = train.shape[0]/(v+1)\n        df2 = train[train['rounded_target'] == k].sample(v, random_state=120).reset_index(drop=True)\n        for j in range(0, v):\n            df2.at[j, 'indexcol'] = indent + j*step + 0.000001*i\n        df = pd.concat([df2,df])\n        i+=1\n    train = df.sort_values('indexcol', ascending=True).reset_index(drop=True)\n    del train['indexcol'], train['rounded_target']\n\n2) KFold: n_splits=5-7, shuffle=False!\n\nKeep Rockin')",
    "464564": "3.680 is broken now :). 3.77 now.",
    "462854": "My single LGB model is currently scoring 3.680 just doing aggregation based feature engineering.\nIt would be nice if anyone who is able to break the single model margin and guide me to break the same :)",
    "463773": "I'm stuck at 3691 and don't realize how to get more ideas on my features construction, already tried to manipulate the date in so many ways and doing some aggregation with hist/new's categorie_1 and the purchase_amount. \nMay you guys help me to figure out new aggregations if it's possible?",
    "462885": "wow. awesome. i don't break single 3.685  :(   (now 3.687)",
    "468321": "can't break 3.685, any tips? :)",
    "464545": "@subikashpal How many features are you using in total?",
    "463746": "I am not able to break the wall either.  \nI really feel like I am missing a key feature...",
    "463680": "I am stuck at 3.810. Can you help me with it?\n",
    "462998": "I'm also hovering around the same score but there is some randomness in my model possibly because of using current date in features. I'm currently getting 3.682 without post processing. "
  }
}