{
  "id": 10547,
  "title": "Document and code for the 3rd place finish",
  "content": "<p>The document is attached here.</p>\n<p>The code can be found at <a href=\"https://github.com/songgc/display-advertising-challenge\">github</a>.</p>",
  "comments": [
    {
      "id": 56302,
      "author_name": "Guocong Song",
      "author_url": "",
      "post_date": "2014-10-20T20:54:04.887000",
      "content": "<p>[quote=Aymenj;56289]</p>\n<p>Hi,</p>\n<p>Thanks a lot for sharing your methodology with us. I have a few questions regarding your approach:</p>\n<ul>\n<li>How do you create your feature groups? What kind of basic statistic do you use to reduce collinearity?</li>\n<li>What do you mean by hierarchical features?</li>\n<li>How do you deal with missing values?&nbsp;e.g. do you &quot;fill&quot; the categorical features with 'NaN'?</li>\n</ul>\n<p>Thanks in advance for your answers.</p>\n<p><br>Aymen</p>\n<p>[/quote]</p>\n<p>For Q1, in fact, by eyeballing, I found features&nbsp;&quot;C3&quot;, &quot;C4&quot;, &quot;C12&quot;,&nbsp;&quot;C16&quot;, &quot;C21&quot;, &quot;C24&quot; having missing values at the same time, and then made them in a group. Is it not scientific? OK, it is not hard to turn an intuition into a scientific approach. Eg. you can define unified distance between two features by cardinality (f1 x f2) / max (cardinality(f1), &nbsp;cardinality(f2)). And then do clustering. The basic approach to avoid further (second order) colinearity is not make join-features among colinear features.</p>\n<p>For Q2, please look at Page 11 at&nbsp;<a href=\"http://people.csail.mit.edu/romer/papers/TISTRespPredAds.pdf\">Oliver's paper</a></p>\n<p>For Q3, Yes.</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 422364,
      "author_name": "Vishal Gupta",
      "author_url": "",
      "post_date": "2018-11-16T05:53:28.593000",
      "content": "<p>@Guocong Song, your PDF link is broken, could you please fix that?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 58573,
      "author_name": "superfan123",
      "author_url": "",
      "post_date": "2014-11-20T21:18:24.373000",
      "content": "<p>@ Guocong&nbsp;</p>\n<p>I'm surprised you used so many tools to build this wonderful pipeline.&nbsp;</p>\n<p>Edited ...</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 56289,
      "author_name": "cryptoML",
      "author_url": "",
      "post_date": "2014-10-20T15:39:21.620000",
      "content": "<p>Hi,</p>\n\n<p>Thanks a lot for sharing your methodology with us. I have a few questions regarding your approach:</p>\n<ul>\n<li>How do you create your feature groups? What kind of basic statistic do you use to reduce collinearity?</li>\n<li>What do you mean by hierarchical features?</li>\n<li>How do you deal with missing values?&nbsp;e.g. do you &quot;fill&quot; the categorical features with 'NaN'?</li>\n</ul>\n\n<p>Thanks in advance for your answers.</p>\n<p><br>Aymen</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 4,
  "messages": [
    {
      "id": 55717,
      "postDate": "2014-10-07T05:37:35.213Z",
      "content": "<p>The document is attached here.</p>\n<p>The code can be found at <a href=\"https://github.com/songgc/display-advertising-challenge\">github</a>.</p>",
      "votes": 17
    },
    {
      "id": 56302,
      "postDate": "2014-10-20T20:54:04.887Z",
      "content": "<p>[quote=Aymenj;56289]</p>\n<p>Hi,</p>\n<p>Thanks a lot for sharing your methodology with us. I have a few questions regarding your approach:</p>\n<ul>\n<li>How do you create your feature groups? What kind of basic statistic do you use to reduce collinearity?</li>\n<li>What do you mean by hierarchical features?</li>\n<li>How do you deal with missing values?&nbsp;e.g. do you &quot;fill&quot; the categorical features with 'NaN'?</li>\n</ul>\n<p>Thanks in advance for your answers.</p>\n<p><br>Aymen</p>\n<p>[/quote]</p>\n<p>For Q1, in fact, by eyeballing, I found features&nbsp;&quot;C3&quot;, &quot;C4&quot;, &quot;C12&quot;,&nbsp;&quot;C16&quot;, &quot;C21&quot;, &quot;C24&quot; having missing values at the same time, and then made them in a group. Is it not scientific? OK, it is not hard to turn an intuition into a scientific approach. Eg. you can define unified distance between two features by cardinality (f1 x f2) / max (cardinality(f1), &nbsp;cardinality(f2)). And then do clustering. The basic approach to avoid further (second order) colinearity is not make join-features among colinear features.</p>\n<p>For Q2, please look at Page 11 at&nbsp;<a href=\"http://people.csail.mit.edu/romer/papers/TISTRespPredAds.pdf\">Oliver's paper</a></p>\n<p>For Q3, Yes.</p>",
      "votes": 3
    },
    {
      "id": 422364,
      "postDate": "2018-11-16T05:53:28.593Z",
      "content": "<p>@Guocong Song, your PDF link is broken, could you please fix that?</p>",
      "rawMarkdown": "@Guocong Song, your PDF link is broken, could you please fix that?"
    },
    {
      "id": 58573,
      "postDate": "2014-11-20T21:18:24.373Z",
      "content": "<p>@ Guocong&nbsp;</p>\n<p>I'm surprised you used so many tools to build this wonderful pipeline.&nbsp;</p>\n<p>Edited ...</p>"
    },
    {
      "id": 56289,
      "postDate": "2014-10-20T15:39:21.620Z",
      "content": "<p>Hi,</p>\n\n<p>Thanks a lot for sharing your methodology with us. I have a few questions regarding your approach:</p>\n<ul>\n<li>How do you create your feature groups? What kind of basic statistic do you use to reduce collinearity?</li>\n<li>What do you mean by hierarchical features?</li>\n<li>How do you deal with missing values?&nbsp;e.g. do you &quot;fill&quot; the categorical features with 'NaN'?</li>\n</ul>\n\n<p>Thanks in advance for your answers.</p>\n<p><br>Aymen</p>"
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T14:44:11Z",
  "competition_id": 3934,
  "competition_slug": "criteo-display-ad-challenge",
  "team_id": 108583,
  "solution_url": "/competitions/criteo-display-ad-challenge/writeups/beile-document-and-code-for-the-3rd-place-finish"
}