{
  "id": 10829,
  "title": "50,000 clicks?!?",
  "url": "/competitions/avazu-ctr-prediction/discussion/10829",
  "author_name": "",
  "post_date": "2014-11-03T07:33:53.363Z",
  "votes": null,
  "comment_count": 9,
  "views": 2625,
  "content": "<p>I was doing a little exploratory analysis on the dataset, and noticed that a number IP addresses have &gt;10000 clicks (one with over 50000). Is this common in this sort of data?</p>\n<p style=\"text-align: left\">&nbsp;&nbsp;&nbsp; device_ip&nbsp;&nbsp;&nbsp; sum Clicks<br>&nbsp;1:&nbsp; 04245874 13369<br>&nbsp;2:&nbsp; 7e4e1dd3 13361<br>&nbsp;3:&nbsp; 395f7c7e 13746<br>&nbsp;4:&nbsp; 82a24eb2 30382<br>&nbsp;5:&nbsp; c1b8122b 50088<br>&nbsp;6:&nbsp; 2b34f027 13532<br>&nbsp;7:&nbsp; 51270002 13197<br>&nbsp;8:&nbsp; 13402a51 13280<br>&nbsp;9:&nbsp; ad072495 13840<br>10:&nbsp; 0a60ae81 13571<br>11:&nbsp; c7438153 13513<br>12:&nbsp; 57a7a546 14123<br>13:&nbsp; 81a912f8 17760<br>14:&nbsp; 024d7e1e 29139<br>15:&nbsp; e8676f9d 13486<br>16:&nbsp; ea70f5ed 13264<br>17:&nbsp; 374dfb81 13349<br>18:&nbsp; c4df515c 12991<br>19:&nbsp; 4fb19f5f 11280</p>",
  "messages": [
    {
      "id": "57232",
      "postDate": "11/03/2014 07:33:53",
      "content": "<p>I was doing a little exploratory analysis on the dataset, and noticed that a number IP addresses have &gt;10000 clicks (one with over 50000). Is this common in this sort of data?</p>\n<p style=\"text-align: left\">&nbsp;&nbsp;&nbsp; device_ip&nbsp;&nbsp;&nbsp; sum Clicks<br>&nbsp;1:&nbsp; 04245874 13369<br>&nbsp;2:&nbsp; 7e4e1dd3 13361<br>&nbsp;3:&nbsp; 395f7c7e 13746<br>&nbsp;4:&nbsp; 82a24eb2 30382<br>&nbsp;5:&nbsp; c1b8122b 50088<br>&nbsp;6:&nbsp; 2b34f027 13532<br>&nbsp;7:&nbsp; 51270002 13197<br>&nbsp;8:&nbsp; 13402a51 13280<br>&nbsp;9:&nbsp; ad072495 13840<br>10:&nbsp; 0a60ae81 13571<br>11:&nbsp; c7438153 13513<br>12:&nbsp; 57a7a546 14123<br>13:&nbsp; 81a912f8 17760<br>14:&nbsp; 024d7e1e 29139<br>15:&nbsp; e8676f9d 13486<br>16:&nbsp; ea70f5ed 13264<br>17:&nbsp; 374dfb81 13349<br>18:&nbsp; c4df515c 12991<br>19:&nbsp; 4fb19f5f 11280</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57242",
      "postDate": "11/03/2014 13:51:28",
      "content": "<p>Are you using the up-to-date data? It has been updated twice.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57243",
      "postDate": "11/03/2014 14:00:25",
      "content": "<p>Well, I downloaded it yesterday... so I hope it's up to date :)</p>\n<p>Does your data say differently?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57244",
      "postDate": "11/03/2014 14:04:22",
      "content": "<p>No, I didn't do that kind of check at all. I'm just hoping what you found is not an error of data. I'm afraid to do it all over again. I believe admin will give you a good answer. : )</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57248",
      "postDate": "11/03/2014 14:58:45",
      "content": "<p>There is also some weird clusters in the dataset, for example:</p>\n<p>device_ip, #clicks, N, ratio<br>395f7c7e 13746 40051 0.3432124042<br>0a60ae81 13571 39589 0.3427972417<br>2b34f027 13532 39396 0.3434866484<br>374dfb81 13349 39303 0.3396432842<br>c7438153 13513 38899 0.3473868223<br>51270002 13197 38663 0.3413340920<br>ea70f5ed 13264 38542 0.3441440506<br>7e4e1dd3 13361 38519 0.3468677795<br>04245874 13369 38517 0.3470934912<br>e8676f9d 13486 38449 0.3507503446<br>13402a51 13280 38342 0.3463564759<br>c4df515c 12991 37998 0.3418864151</p>\n<p>Could they be click bots or something?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57249",
      "postDate": "11/03/2014 15:01:44",
      "content": "<p>My two cents:</p>\n<p>1. data has been subsampled (as mentioned in the Q&amp;A, I seem to recall)</p>\n<p>2. for anonymization purposes, identifying features were hashed</p>\n<p>I guess the combo of those two facts might explain some data artifacts that are unlikely in the real world.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57250",
      "postDate": "11/03/2014 15:03:29",
      "content": "<p>I think&nbsp;that is bot.</p>\n<p>some ip has high click rate.</p>\n<p><code>-----<br></code><code><code>{:ip=&gt;&quot;c1b8122b&quot;, :access_count=&gt;155236, :click_rate=&gt;0.3226571156175114}<br>{:ip=&gt;&quot;4fb19f5f&quot;, :access_count=&gt;130844, :click_rate=&gt;0.08620953196172541}<br>{:ip=&gt;&quot;036e68bc&quot;, :access_count=&gt;106923, :click_rate=&gt;0.05659212704469572}<br>{:ip=&gt;&quot;c4941be6&quot;, :access_count=&gt;106775, :click_rate=&gt;0.05795364083352845}<br>{:ip=&gt;&quot;2d16bf20&quot;, :access_count=&gt;106687, :click_rate=&gt;0.0572234667766457}<br>{:ip=&gt;&quot;536b37ff&quot;, :access_count=&gt;105881, :click_rate=&gt;0.057101840745742864}<br>{:ip=&gt;&quot;c2863a7a&quot;, :access_count=&gt;105133, :click_rate=&gt;0.060941854603216876}<br>{:ip=&gt;&quot;d5e862d3&quot;, :access_count=&gt;104425, :click_rate=&gt;0.06053148192482643}<br>{:ip=&gt;&quot;ce87aefd&quot;, :access_count=&gt;104171, :click_rate=&gt;0.0603910877307504}<br>{:ip=&gt;&quot;1b1a8268&quot;, :access_count=&gt;102762, :click_rate=&gt;0.06217278760631362}<br>{:ip=&gt;&quot;024d7e1e&quot;, :access_count=&gt;94706, :click_rate=&gt;0.30767849977826117}<br>{:ip=&gt;&quot;81a912f8&quot;, :access_count=&gt;65157, :click_rate=&gt;0.272572402044293}<br>{:ip=&gt;&quot;ad072495&quot;, :access_count=&gt;57965, :click_rate=&gt;0.23876477184507894}<br>{:ip=&gt;&quot;57a7a546&quot;, :access_count=&gt;57437, :click_rate=&gt;0.24588679770879399}<br>{:ip=&gt;&quot;82a24eb2&quot;, :access_count=&gt;41712, :click_rate=&gt;0.7283755274261603}</code></code><code></code></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57252",
      "postDate": "11/03/2014 15:49:58",
      "content": "<p>[quote=rcarson;57244]</p>\n<p>No, I didn't do that kind of check at all. I'm just hoping what you found is not an error of data. I'm afraid to do it all over again. I believe admin will give you a good answer. : )</p>\n<p>[/quote]</p>\n<p>there is no error, just&nbsp;keep going</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57306",
      "postDate": "11/04/2014 17:29:34",
      "content": "<p>Right, there is no error</p>\n<p>devide_&nbsp;ip &nbsp;count_of_id sum_of_click ratio</p>\n<p>c1b8122b&nbsp;155236&nbsp;50088&nbsp;32.265711562<br>4fb19f5f&nbsp;130844&nbsp;11280&nbsp;8.6209531962<br>036e68bc&nbsp;106923&nbsp;6051&nbsp;5.6592127045<br>c4941be6&nbsp;106775&nbsp;6188&nbsp;5.7953640834<br>2d16bf20&nbsp;106687&nbsp;6105&nbsp;5.7223466777<br>536b37ff&nbsp;105881&nbsp;6046&nbsp;5.7101840746<br>c2863a7a&nbsp;105133&nbsp;6407&nbsp;6.0941854603<br>d5e862d3&nbsp;104425&nbsp;6321&nbsp;6.0531481925<br>ce87aefd&nbsp;104171&nbsp;6291&nbsp;6.0391087731<br>1b1a8268&nbsp;102762&nbsp;6389&nbsp;6.2172787606<br>024d7e1e&nbsp;94706&nbsp;29139&nbsp;30.767849978<br>81a912f8&nbsp;65157&nbsp;17760&nbsp;27.257240204<br>ad072495&nbsp;57965&nbsp;13840&nbsp;23.876477185<br>57a7a546&nbsp;57437&nbsp;14123&nbsp;24.588679771<br>82a24eb2&nbsp;41712&nbsp;30382&nbsp;72.837552743<br>395f7c7e&nbsp;40051&nbsp;13746&nbsp;34.321240418<br>0a60ae81&nbsp;39589&nbsp;13571&nbsp;34.279724166<br>2b34f027&nbsp;39396&nbsp;13532&nbsp;34.348664839<br>374dfb81&nbsp;39303&nbsp;13349&nbsp;33.964328423</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "57559",
      "postDate": "11/09/2014 16:58:42",
      "content": "<p>I applied row-based filtering given the list by nagadomi, assuming these IPs indeed belong to spammers or click bots and are basically noise. I reject train&nbsp;set samples which contain an IP from this list.&nbsp;For dealing with test set samples there are two approaches as we cannot throw out rows:&nbsp;</p>\n<p>1) predict as if it were random noise or</p>\n<p>2) replace the prediction&nbsp;with the mean CTR for that IP.</p>\n<p>This approach covers 1.6M train samples (3%) and 260K test samples (5%).</p>\n<p>Option 1 would have my preference but that degrades overall leaderboard score. Some overfitting is necessary to win based on leaderboard score.<br>Option 2 provided a slightly better but most likely insignificant improvement compared to not filtering at all. I expect this is because filtering essentially moves overfitting from a classifier to a pre and postprocessing step.</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 57242,
      "author_name": "jiweiliu",
      "author_url": "",
      "post_date": "11/03/2014 13:51:28",
      "content": "<p>Are you using the up-to-date data? It has been updated twice.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57243,
      "author_name": "maineiac",
      "author_url": "",
      "post_date": "11/03/2014 14:00:25",
      "content": "<p>Well, I downloaded it yesterday... so I hope it's up to date :)</p>\n<p>Does your data say differently?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57244,
      "author_name": "jiweiliu",
      "author_url": "",
      "post_date": "11/03/2014 14:04:22",
      "content": "<p>No, I didn't do that kind of check at all. I'm just hoping what you found is not an error of data. I'm afraid to do it all over again. I believe admin will give you a good answer. : )</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57248,
      "author_name": "herrahuu",
      "author_url": "",
      "post_date": "11/03/2014 14:58:45",
      "content": "<p>There is also some weird clusters in the dataset, for example:</p>\n<p>device_ip, #clicks, N, ratio<br>395f7c7e 13746 40051 0.3432124042<br>0a60ae81 13571 39589 0.3427972417<br>2b34f027 13532 39396 0.3434866484<br>374dfb81 13349 39303 0.3396432842<br>c7438153 13513 38899 0.3473868223<br>51270002 13197 38663 0.3413340920<br>ea70f5ed 13264 38542 0.3441440506<br>7e4e1dd3 13361 38519 0.3468677795<br>04245874 13369 38517 0.3470934912<br>e8676f9d 13486 38449 0.3507503446<br>13402a51 13280 38342 0.3463564759<br>c4df515c 12991 37998 0.3418864151</p>\n<p>Could they be click bots or something?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57249,
      "author_name": "konradb",
      "author_url": "",
      "post_date": "11/03/2014 15:01:44",
      "content": "<p>My two cents:</p>\n<p>1. data has been subsampled (as mentioned in the Q&amp;A, I seem to recall)</p>\n<p>2. for anonymization purposes, identifying features were hashed</p>\n<p>I guess the combo of those two facts might explain some data artifacts that are unlikely in the real world.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57250,
      "author_name": "nagadomi",
      "author_url": "",
      "post_date": "11/03/2014 15:03:29",
      "content": "<p>I think&nbsp;that is bot.</p>\n<p>some ip has high click rate.</p>\n<p><code>-----<br></code><code><code>{:ip=&gt;&quot;c1b8122b&quot;, :access_count=&gt;155236, :click_rate=&gt;0.3226571156175114}<br>{:ip=&gt;&quot;4fb19f5f&quot;, :access_count=&gt;130844, :click_rate=&gt;0.08620953196172541}<br>{:ip=&gt;&quot;036e68bc&quot;, :access_count=&gt;106923, :click_rate=&gt;0.05659212704469572}<br>{:ip=&gt;&quot;c4941be6&quot;, :access_count=&gt;106775, :click_rate=&gt;0.05795364083352845}<br>{:ip=&gt;&quot;2d16bf20&quot;, :access_count=&gt;106687, :click_rate=&gt;0.0572234667766457}<br>{:ip=&gt;&quot;536b37ff&quot;, :access_count=&gt;105881, :click_rate=&gt;0.057101840745742864}<br>{:ip=&gt;&quot;c2863a7a&quot;, :access_count=&gt;105133, :click_rate=&gt;0.060941854603216876}<br>{:ip=&gt;&quot;d5e862d3&quot;, :access_count=&gt;104425, :click_rate=&gt;0.06053148192482643}<br>{:ip=&gt;&quot;ce87aefd&quot;, :access_count=&gt;104171, :click_rate=&gt;0.0603910877307504}<br>{:ip=&gt;&quot;1b1a8268&quot;, :access_count=&gt;102762, :click_rate=&gt;0.06217278760631362}<br>{:ip=&gt;&quot;024d7e1e&quot;, :access_count=&gt;94706, :click_rate=&gt;0.30767849977826117}<br>{:ip=&gt;&quot;81a912f8&quot;, :access_count=&gt;65157, :click_rate=&gt;0.272572402044293}<br>{:ip=&gt;&quot;ad072495&quot;, :access_count=&gt;57965, :click_rate=&gt;0.23876477184507894}<br>{:ip=&gt;&quot;57a7a546&quot;, :access_count=&gt;57437, :click_rate=&gt;0.24588679770879399}<br>{:ip=&gt;&quot;82a24eb2&quot;, :access_count=&gt;41712, :click_rate=&gt;0.7283755274261603}</code></code><code></code></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57252,
      "author_name": "stevewang0",
      "author_url": "",
      "post_date": "11/03/2014 15:49:58",
      "content": "<p>[quote=rcarson;57244]</p>\n<p>No, I didn't do that kind of check at all. I'm just hoping what you found is not an error of data. I'm afraid to do it all over again. I believe admin will give you a good answer. : )</p>\n<p>[/quote]</p>\n<p>there is no error, just&nbsp;keep going</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57306,
      "author_name": "mike64",
      "author_url": "",
      "post_date": "11/04/2014 17:29:34",
      "content": "<p>Right, there is no error</p>\n<p>devide_&nbsp;ip &nbsp;count_of_id sum_of_click ratio</p>\n<p>c1b8122b&nbsp;155236&nbsp;50088&nbsp;32.265711562<br>4fb19f5f&nbsp;130844&nbsp;11280&nbsp;8.6209531962<br>036e68bc&nbsp;106923&nbsp;6051&nbsp;5.6592127045<br>c4941be6&nbsp;106775&nbsp;6188&nbsp;5.7953640834<br>2d16bf20&nbsp;106687&nbsp;6105&nbsp;5.7223466777<br>536b37ff&nbsp;105881&nbsp;6046&nbsp;5.7101840746<br>c2863a7a&nbsp;105133&nbsp;6407&nbsp;6.0941854603<br>d5e862d3&nbsp;104425&nbsp;6321&nbsp;6.0531481925<br>ce87aefd&nbsp;104171&nbsp;6291&nbsp;6.0391087731<br>1b1a8268&nbsp;102762&nbsp;6389&nbsp;6.2172787606<br>024d7e1e&nbsp;94706&nbsp;29139&nbsp;30.767849978<br>81a912f8&nbsp;65157&nbsp;17760&nbsp;27.257240204<br>ad072495&nbsp;57965&nbsp;13840&nbsp;23.876477185<br>57a7a546&nbsp;57437&nbsp;14123&nbsp;24.588679771<br>82a24eb2&nbsp;41712&nbsp;30382&nbsp;72.837552743<br>395f7c7e&nbsp;40051&nbsp;13746&nbsp;34.321240418<br>0a60ae81&nbsp;39589&nbsp;13571&nbsp;34.279724166<br>2b34f027&nbsp;39396&nbsp;13532&nbsp;34.348664839<br>374dfb81&nbsp;39303&nbsp;13349&nbsp;33.964328423</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 57559,
      "author_name": "tomderuijter",
      "author_url": "",
      "post_date": "11/09/2014 16:58:42",
      "content": "<p>I applied row-based filtering given the list by nagadomi, assuming these IPs indeed belong to spammers or click bots and are basically noise. I reject train&nbsp;set samples which contain an IP from this list.&nbsp;For dealing with test set samples there are two approaches as we cannot throw out rows:&nbsp;</p>\n<p>1) predict as if it were random noise or</p>\n<p>2) replace the prediction&nbsp;with the mean CTR for that IP.</p>\n<p>This approach covers 1.6M train samples (3%) and 260K test samples (5%).</p>\n<p>Option 1 would have my preference but that degrades overall leaderboard score. Some overfitting is necessary to win based on leaderboard score.<br>Option 2 provided a slightly better but most likely insignificant improvement compared to not filtering at all. I expect this is because filtering essentially moves overfitting from a classifier to a pre and postprocessing step.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "57232": "",
    "57242": "",
    "57243": "",
    "57244": "",
    "57248": "",
    "57249": "",
    "57250": "",
    "57252": "",
    "57306": "",
    "57559": ""
  },
  "source": "meta"
}