{
  "id": 41553,
  "title": "Beat the benchmark",
  "url": "/competitions/favorita-grocery-sales-forecasting/discussion/41553",
  "author_name": "Konrad Banachewicz",
  "post_date": "2017-10-20T04:36:19.877000",
  "votes": 5,
  "comment_count": 0,
  "views": 0,
  "content": "<p>Paulo beat me to posting the kernel by a few hours, so I thought I'd park it here. It relies on same logic as his - weirdly, the R version scores lower on the public LB (probably due to some internals related to median calculation).</p>\n\n<h1>wd etc ----</h1>\n\n<p>require(data.table)</p>\n\n<h1>training data ----</h1>\n\n<p>xdat &lt;- fread('../input/train.csv')</p>\n\n<h1>mean item sales ----</h1>\n\n<p>dict1 &lt;- xdat[, j=list(unit_sales = median(unit_sales, na.rm = TRUE)), by = list(item_nbr, store_nbr)]\nxtest &lt;- fread('../input/test.csv')</p>\n\n<p>xfor &lt;- merge(xtest, dict1, all.x = T, by = c('item_nbr', 'store_nbr'))\nxfor &lt;- xfor[ , c('id', 'unit_sales')]\nxfor[is.na(unit_sales),unit_sales:=0]\nxfor$unit_sales &lt;- pmax(xfor$unit_sales,0)</p>\n\n<p>write.csv(xfor, '../submissions/btb2_2010.csv', row.names = F, quote = F)</p>",
  "messages": [
    {
      "id": 233400,
      "postDate": "2017-10-20T04:36:19.877Z",
      "content": "<p>Paulo beat me to posting the kernel by a few hours, so I thought I'd park it here. It relies on same logic as his - weirdly, the R version scores lower on the public LB (probably due to some internals related to median calculation).</p>\n\n<h1>wd etc ----</h1>\n\n<p>require(data.table)</p>\n\n<h1>training data ----</h1>\n\n<p>xdat &lt;- fread('../input/train.csv')</p>\n\n<h1>mean item sales ----</h1>\n\n<p>dict1 &lt;- xdat[, j=list(unit_sales = median(unit_sales, na.rm = TRUE)), by = list(item_nbr, store_nbr)]\nxtest &lt;- fread('../input/test.csv')</p>\n\n<p>xfor &lt;- merge(xtest, dict1, all.x = T, by = c('item_nbr', 'store_nbr'))\nxfor &lt;- xfor[ , c('id', 'unit_sales')]\nxfor[is.na(unit_sales),unit_sales:=0]\nxfor$unit_sales &lt;- pmax(xfor$unit_sales,0)</p>\n\n<p>write.csv(xfor, '../submissions/btb2_2010.csv', row.names = F, quote = F)</p>",
      "rawMarkdown": "Paulo beat me to posting the kernel by a few hours, so I thought I'd park it here. It relies on same logic as his - weirdly, the R version scores lower on the public LB (probably due to some internals related to median calculation).\n\n# wd etc ----\nrequire(data.table)\n# training data ----\nxdat &lt;- fread('../input/train.csv')\n\n# mean item sales ----\ndict1 &lt;- xdat[, j=list(unit_sales = median(unit_sales, na.rm = TRUE)), by = list(item_nbr, store_nbr)]\nxtest &lt;- fread('../input/test.csv')\n\nxfor &lt;- merge(xtest, dict1, all.x = T, by = c('item_nbr', 'store_nbr'))\nxfor &lt;- xfor[ , c('id', 'unit_sales')]\nxfor[is.na(unit_sales),unit_sales:=0]\nxfor$unit_sales &lt;- pmax(xfor$unit_sales,0)\n\nwrite.csv(xfor, '../submissions/btb2_2010.csv', row.names = F, quote = F)",
      "votes": 5
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "233400": "Paulo beat me to posting the kernel by a few hours, so I thought I'd park it here. It relies on same logic as his - weirdly, the R version scores lower on the public LB (probably due to some internals related to median calculation).\n\n# wd etc ----\nrequire(data.table)\n# training data ----\nxdat &lt;- fread('../input/train.csv')\n\n# mean item sales ----\ndict1 &lt;- xdat[, j=list(unit_sales = median(unit_sales, na.rm = TRUE)), by = list(item_nbr, store_nbr)]\nxtest &lt;- fread('../input/test.csv')\n\nxfor &lt;- merge(xtest, dict1, all.x = T, by = c('item_nbr', 'store_nbr'))\nxfor &lt;- xfor[ , c('id', 'unit_sales')]\nxfor[is.na(unit_sales),unit_sales:=0]\nxfor$unit_sales &lt;- pmax(xfor$unit_sales,0)\n\nwrite.csv(xfor, '../submissions/btb2_2010.csv', row.names = F, quote = F)"
  }
}