{
  "id": 327905,
  "title": "Difference between 'ancestor' and 'parent'",
  "url": "/competitions/AI4Code/discussion/327905",
  "author_name": "",
  "post_date": "2022-05-29T21:08:56.598210100Z",
  "votes": 11,
  "comment_count": 3,
  "views": 0,
  "content": "<blockquote>\n  <p>train_ancestors.csv - On Kaggle, a user may \"fork\" (that is, copy) the notebook of another user to create their own version. This file contains the forking history of notebooks in the training set. Note: There is no corresponding file for the test set.</p>\n  <p>ancestor_id - Identifies sets of notebooks that have a common origin or \"ancestor\". As no notebook in the test set has an ancestor in the training set, you may find this field to be of use as a grouping factor when constructing validation splits.</p>\n  <p>parent_id - Indicates that some version of the notebook id was forked from some version of the notebook parent_id. The notebook parent_id may or may not be present in the training data. (The parent may be missing because someone had forked a private notebook of their own, for instance.)</p>\n</blockquote>\n<p>So <code>parent</code> is clear: the forked notebook id. </p>\n<p>What about <code>ancestor</code>?  what does \"common origin\" mean here? Thank you.</p>",
  "messages": [
    {
      "id": "1805167",
      "postDate": "05/29/2022 21:08:56",
      "content": "<blockquote>\n  <p>train_ancestors.csv - On Kaggle, a user may \"fork\" (that is, copy) the notebook of another user to create their own version. This file contains the forking history of notebooks in the training set. Note: There is no corresponding file for the test set.</p>\n  <p>ancestor_id - Identifies sets of notebooks that have a common origin or \"ancestor\". As no notebook in the test set has an ancestor in the training set, you may find this field to be of use as a grouping factor when constructing validation splits.</p>\n  <p>parent_id - Indicates that some version of the notebook id was forked from some version of the notebook parent_id. The notebook parent_id may or may not be present in the training data. (The parent may be missing because someone had forked a private notebook of their own, for instance.)</p>\n</blockquote>\n<p>So <code>parent</code> is clear: the forked notebook id. </p>\n<p>What about <code>ancestor</code>?  what does \"common origin\" mean here? Thank you.</p>",
      "rawMarkdown": "> train_ancestors.csv - On Kaggle, a user may \"fork\" (that is, copy) the notebook of another user to create their own version. This file contains the forking history of notebooks in the training set. Note: There is no corresponding file for the test set.\n\n> ancestor_id - Identifies sets of notebooks that have a common origin or \"ancestor\". As no notebook in the test set has an ancestor in the training set, you may find this field to be of use as a grouping factor when constructing validation splits.\n\n> parent_id - Indicates that some version of the notebook id was forked from some version of the notebook parent_id. The notebook parent_id may or may not be present in the training data. (The parent may be missing because someone had forked a private notebook of their own, for instance.)\n\n\nSo `parent` is clear: the forked notebook id. \n\nWhat about `ancestor`?  what does \"common origin\" mean here? Thank you.",
      "votes": null
    },
    {
      "id": "1805555",
      "postDate": "05/30/2022 09:41:24",
      "content": "<p>Let's denote a fork as \"-&gt;\".    </p>\n<p>e.g. A -&gt; B means that \"B is a fork of A\".</p>\n<p>Let's say that there were two chains of forks:</p>\n<ul>\n<li>A -&gt; B -&gt; C</li>\n<li>A -&gt; D -&gt; E</li>\n</ul>\n<p>Then C has parent B, and E has parent D (different parents!), but they share a common ancestor A which is where the parents were forked from. In this example, C and E would have the same ancestor.</p>",
      "rawMarkdown": "Let's denote a fork as \"->\".    \n\ne.g. A -> B means that \"B is a fork of A\".\n\nLet's say that there were two chains of forks:\n\n+ A -> B -> C\n+ A -> D -> E\n\nThen C has parent B, and E has parent D (different parents!), but they share a common ancestor A which is where the parents were forked from. In this example, C and E would have the same ancestor.",
      "votes": null
    },
    {
      "id": "1805771",
      "postDate": "05/30/2022 13:33:32",
      "content": "<p>Thank you jagofc, this is very clear!</p>",
      "rawMarkdown": "Thank you jagofc, this is very clear!",
      "votes": null
    },
    {
      "id": "1814322",
      "postDate": "06/07/2022 18:26:55",
      "content": "<p><code>ancestor_id</code> indicates the root parent for all notebooks. It gives the idea about the <strong>common parent</strong>, so as mentioned in the description, we can use it as a <strong>grouping factor</strong>.</p>",
      "rawMarkdown": "`ancestor_id` indicates the root parent for all notebooks. It gives the idea about the **common parent**, so as mentioned in the description, we can use it as a **grouping factor**.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1805555,
      "author_name": "jagofc",
      "author_url": "",
      "post_date": "05/30/2022 09:41:24",
      "content": "<p>Let's denote a fork as \"-&gt;\".    </p>\n<p>e.g. A -&gt; B means that \"B is a fork of A\".</p>\n<p>Let's say that there were two chains of forks:</p>\n<ul>\n<li>A -&gt; B -&gt; C</li>\n<li>A -&gt; D -&gt; E</li>\n</ul>\n<p>Then C has parent B, and E has parent D (different parents!), but they share a common ancestor A which is where the parents were forked from. In this example, C and E would have the same ancestor.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1805771,
          "author_name": "vincentwang25",
          "author_url": "",
          "post_date": "05/30/2022 13:33:32",
          "content": "<p>Thank you jagofc, this is very clear!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1814322,
      "author_name": "ashrafr",
      "author_url": "",
      "post_date": "06/07/2022 18:26:55",
      "content": "<p><code>ancestor_id</code> indicates the root parent for all notebooks. It gives the idea about the <strong>common parent</strong>, so as mentioned in the description, we can use it as a <strong>grouping factor</strong>.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1805167": "> train_ancestors.csv - On Kaggle, a user may \"fork\" (that is, copy) the notebook of another user to create their own version. This file contains the forking history of notebooks in the training set. Note: There is no corresponding file for the test set.\n\n> ancestor_id - Identifies sets of notebooks that have a common origin or \"ancestor\". As no notebook in the test set has an ancestor in the training set, you may find this field to be of use as a grouping factor when constructing validation splits.\n\n> parent_id - Indicates that some version of the notebook id was forked from some version of the notebook parent_id. The notebook parent_id may or may not be present in the training data. (The parent may be missing because someone had forked a private notebook of their own, for instance.)\n\n\nSo `parent` is clear: the forked notebook id. \n\nWhat about `ancestor`?  what does \"common origin\" mean here? Thank you.",
    "1805555": "Let's denote a fork as \"->\".    \n\ne.g. A -> B means that \"B is a fork of A\".\n\nLet's say that there were two chains of forks:\n\n+ A -> B -> C\n+ A -> D -> E\n\nThen C has parent B, and E has parent D (different parents!), but they share a common ancestor A which is where the parents were forked from. In this example, C and E would have the same ancestor.",
    "1805771": "Thank you jagofc, this is very clear!",
    "1814322": "`ancestor_id` indicates the root parent for all notebooks. It gives the idea about the **common parent**, so as mentioned in the description, we can use it as a **grouping factor**."
  },
  "source": "meta"
}