{
  "id": 15910,
  "title": "How about using GraphLab Create models?",
  "url": "/competitions/dato-native/discussion/15910",
  "author_name": "",
  "post_date": "2015-08-12T16:40:08.047Z",
  "votes": 1,
  "comment_count": 17,
  "views": 2865,
  "content": "<p>I think the main difficulty is there's no SVD in GraphLab Create</p>",
  "messages": [
    {
      "id": "89193",
      "postDate": "08/12/2015 16:40:08",
      "content": "<p>I think the main difficulty is there's no SVD in GraphLab Create</p>",
      "rawMarkdown": "I think the main difficulty is there's no SVD in GraphLab Create",
      "votes": null
    },
    {
      "id": "89198",
      "postDate": "08/12/2015 17:19:46",
      "content": "<p>@Jiming Ye: you are right, we currently do not support SVD but it is on our roadmap.  You can use our numpy intergration (which is also out-of-core so you will not need to have all the data in memory) to transfer any SFrame into a numpy array and do SVD there.   </p>",
      "rawMarkdown": "Jiming Ye: you are right, we currently do not support SVD but it is on our roadmap.  You can use our numpy intergration (which is also out-of-core so you will not need to have all the data in memory) to transfer any SFrame into a numpy array and do SVD there.",
      "votes": null
    },
    {
      "id": "89199",
      "postDate": "08/12/2015 17:25:12",
      "content": "<p>So.... we can do whatever we want with the data with other tools and for the <em>Dato Creators Award</em> we are only required to use one of GLC classifiers?</p>",
      "rawMarkdown": "So.... we can do whatever we want with the data with other tools and for the *Dato Creators Award* we are only required to use one of GLC classifiers?",
      "votes": null
    },
    {
      "id": "89209",
      "postDate": "08/12/2015 18:31:43",
      "content": "<p>@NxGTR: GLC provides users with an SDK (<a href=\"https://github.com/dato-code/GraphLab-Create-SDK\">https://github.com/dato-code/GraphLab-Create-SDK</a>) that you can use to writeup anything you need, including an SVD implementation or any other form of feature engineering.  </p>\n\n<p>To win the &quot;Dato Creators Award&quot;, you are allowed to write any class you are interested in using our SDK, or use what is currently supported in our tools.  Here is a good example on libffm and porting it into GLC using the SDK (<a href=\"https://github.com/dato-code/python-libffm\">https://github.com/dato-code/python-libffm</a>).</p>\n\n<p>Also, if you think there are any features you need and find missing in our tools, feel free to send a feature request to kaggle@dato.com .  We would love to hear from you!</p>",
      "rawMarkdown": "NxGTR: GLC provides users with an SDK (https://github.com/dato-code/GraphLab-Create-SDK) that you can use to writeup anything you need, including an SVD implementation or any other form of feature engineering.  \r\n\r\nTo win the \"Dato Creators Award\", you are allowed to write any class you are interested in using our SDK, or use what is currently supported in our tools.  Here is a good example on libffm and porting it into GLC using the SDK (https://github.com/dato-code/python-libffm).\r\n\r\nAlso, if you think there are any features you need and find missing in our tools, feel free to send a feature request to kaggle@dato.com .  We would love to hear from you!",
      "votes": null
    },
    {
      "id": "89210",
      "postDate": "08/12/2015 18:56:01",
      "content": "<p>I still don't get it... so, your own &quot;Getting Started Code&quot; is not eligible for the <em>Dato Creators Award</em>?, because the pre-processing does not use GLC sdk at all.</p>\n\n<p>Anyway, it is too early in competition to worry about prizes XD, I think we can discuss more about this if for some remotely reason still matters (i.e., if I am still at a good spot in the leaderboard) to me in October.</p>\n\n<p>Thanks a lot!.</p>",
      "rawMarkdown": "I still don't get it... so, your own \"Getting Started Code\" is not eligible for the *Dato Creators Award*?, because the pre-processing does not use GLC sdk at all.\r\n\r\nAnyway, it is too early in competition to worry about prizes XD, I think we can discuss more about this if for some remotely reason still matters (i.e., if I am still at a good spot in the leaderboard) to me in October.\r\n\r\nThanks a lot!.",
      "votes": null
    },
    {
      "id": "89213",
      "postDate": "08/12/2015 19:07:45",
      "content": "<p>@NxGTR: sorry if I mislead you!   What I meant is you can totally use our starter code or anything that is in GLC for the award.  In the case you want to do something more complicated, or use methods we do not support, then you can use the toolkit to add that functionality.  In @Jiming Ye's case, he can implement SVD using the toolkit and be valid for the <em>Dato Creators Award</em></p>\n\n<p>So the &quot;Getting Started Code&quot; is certainly valid for the award! Let me know if this clarifies things.</p>",
      "rawMarkdown": "NxGTR: sorry if I mislead you!   What I meant is you can totally use our starter code or anything that is in GLC for the award.  In the case you want to do something more complicated, or use methods we do not support, then you can use the toolkit to add that functionality.  In @Jiming Ye's case, he can implement SVD using the toolkit and be valid for the *Dato Creators Award*\r\n\r\nSo the \"Getting Started Code\" is certainly valid for the award! Let me know if this clarifies things.",
      "votes": null
    },
    {
      "id": "89216",
      "postDate": "08/12/2015 19:32:31",
      "content": "<p>Thanks a lot, I think its a bit more clear, however... I am still not so sure about it, for instance, what if @Jiming Ye decides he can easily code SVD on his own, pure python without the need of the SDK, you can see that step as feature engineering, just like you did with the <em>process_html.py</em>.</p>\n\n<p>What confuses me, is the difference between, &quot;<em>you <strong>could</strong> use GLC sdk</em>&quot; vs &quot;<em>you <strong>must</strong> use GLC sdk</em>&quot;</p>\n\n<p>My workflow is exactly as your starting code:</p>\n\n<p>1) do_magic.py &lt;--- has nothing to do with GLC sdk (even, if some of its code could be coded with the SDK)</p>\n\n<p>2) classify.py &lt;--- use GLC classifiers and techniques to further process and classify.</p>",
      "rawMarkdown": "Thanks a lot, I think its a bit more clear, however... I am still not so sure about it, for instance, what if @Jiming Ye decides he can easily code SVD on his own, pure python without the need of the SDK, you can see that step as feature engineering, just like you did with the *process_html.py*.\r\n\r\nWhat confuses me, is the difference between, \"*you **could** use GLC sdk*\" vs \"*you **must** use GLC sdk*\"\r\n\r\nMy workflow is exactly as your starting code:\r\n\r\n1) do_magic.py <--- has nothing to do with GLC sdk (even, if some of its code could be coded with the SDK)\r\n\r\n2) classify.py <--- use GLC classifiers and techniques to further process and classify.",
      "votes": null
    },
    {
      "id": "89219",
      "postDate": "08/12/2015 20:28:26",
      "content": "<p>@NxGTR:  process_html.py was written without GLC for the purpose of getting people started, independent from whether they want to use GLC or not in the competition.  Parsing the HTML's with GLC would tie people to use GLC, and this was not our intention.  We thought a lot of python users would want to use their own tools (Pandas/Scikit/etc...) for this, and we did not want to constrain them.</p>\n\n<p>However, you do make a very good point.  Reading/parsing/extracting text from HTML's is OK to do with any tool you want.  Anything after that, in regards to machine learning, would need to be done with GLC to be valid for &quot;Dato Creators Award&quot;.  We are a machine learning company afterall!  SVD or any other form of feature engineering that requires transformation of the features extracted  falls under that category.</p>",
      "rawMarkdown": "NxGTR:  process_html.py was written without GLC for the purpose of getting people started, independent from whether they want to use GLC or not in the competition.  Parsing the HTML's with GLC would tie people to use GLC, and this was not our intention.  We thought a lot of python users would want to use their own tools (Pandas/Scikit/etc...) for this, and we did not want to constrain them.\r\n\r\nHowever, you do make a very good point.  Reading/parsing/extracting text from HTML's is OK to do with any tool you want.  Anything after that, in regards to machine learning, would need to be done with GLC to be valid for \"Dato Creators Award\".  We are a machine learning company afterall!  SVD or any other form of feature engineering that requires transformation of the features extracted  falls under that category.",
      "votes": null
    },
    {
      "id": "89220",
      "postDate": "08/12/2015 20:33:11",
      "content": "<p>@cloofa, </p>\n\n<p>Thanks, seem clear now.</p>",
      "rawMarkdown": "cloofa, \r\n\r\nThanks, seem clear now.",
      "votes": null
    },
    {
      "id": "89720",
      "postDate": "08/18/2015 21:12:37",
      "content": "<p>It's not clear for me how to let you know I'm using GLC in my submission (to be considered for the Dato creators award) ? </p>\n\n<p>Should I only prefix my team name with 'GLC'?  If so how can I make 2 submissions? (one using only GLC and another using also other libraries)?</p>",
      "rawMarkdown": "It's not clear for me how to let you know I'm using GLC in my submission (to be considered for the Dato creators award) ? \r\n\r\nShould I only prefix my team name with 'GLC'?  If so how can I make 2 submissions? (one using only GLC and another using also other libraries)?",
      "votes": null
    },
    {
      "id": "89722",
      "postDate": "08/18/2015 21:23:58",
      "content": "<p>Not sure if this is feasible, but ideally, since we can actually select 2 submissions could we use the submission description to mark the one we want to be considered for the Dato award? \n(description = 'GLC')</p>",
      "rawMarkdown": "Not sure if this is feasible, but ideally, since we can actually select 2 submissions could we use the submission description to mark the one we want to be considered for the Dato award? \r\n(description = 'GLC')",
      "votes": null
    },
    {
      "id": "89724",
      "postDate": "08/18/2015 21:49:38",
      "content": "<p>@Alan Krunmholz:  Creating 2 teams is going to be necessary (please read below), and we still need to check the code to confirm it qualifies for the Dato Award.  So please make sure you version your code as such.  Thanks!</p>\n\n<p>(N.B: I had to edit this post and correct for my previous statement)</p>",
      "rawMarkdown": "Alan Krunmholz:  Creating 2 teams is going to be necessary (please read below), and we still need to check the code to confirm it qualifies for the Dato Award.  So please make sure you version your code as such.  Thanks!\r\n\r\n(N.B: I had to edit this post and correct for my previous statement)",
      "votes": null
    },
    {
      "id": "89733",
      "postDate": "08/18/2015 22:54:40",
      "content": "<p>@cloofa</p>\n\n<p>It is very important that you work with Kaggle admins to decide how to enforce the Dato Award, take a look at this scenario:</p>\n\n<p>User: John Submissions: 3</p>\n\n<p>0.96 Using X-Tool [X]</p>\n\n<p>0.945 Using GLC [--]</p>\n\n<p>0.955 Using GLC [X]</p>\n\n<p>User: Snow Submissions: 3</p>\n\n<p>0.95 Using X-Tool [X]</p>\n\n<p>0.95 Using GLC [X]</p>\n\n<p>0.98 Using GLC [--]</p>\n\n<p>[X] stands for submission selected</p>\n\n<p>Who wins? of course John wins all and Snow gets nothing, even if he/she had a better solution, but was not selected.</p>\n\n<p>In a regular competition, this validation is done automatically, as the LB will tell us who wins, however, in the Dato Award, we do not know.</p>\n\n<p>For instance, I have absolutely no idea where I am currently regarding GLC award, when the competition is over, user &quot;Snow&quot; could say, hey!, I have a GLC solution for 0.98, however, it should not matter, as it was not selected.</p>\n\n<p>My concern is, how is it going to work at the end? should we post somewhere our scores and the highest (after Dato inspection) and confirmation about Kaggle that indeed was a selected submission wins?</p>",
      "rawMarkdown": "cloofa\r\n\r\nIt is very important that you work with Kaggle admins to decide how to enforce the Dato Award, take a look at this scenario:\r\n\r\nUser: John Submissions: 3\r\n\r\n0.96 Using X-Tool [X]\r\n\r\n0.945 Using GLC [--]\r\n\r\n0.955 Using GLC [X]\r\n\r\n\r\nUser: Snow Submissions: 3\r\n\r\n0.95 Using X-Tool [X]\r\n\r\n0.95 Using GLC [X]\r\n\r\n0.98 Using GLC [--]\r\n\r\n[X] stands for submission selected\r\n\r\nWho wins? of course John wins all and Snow gets nothing, even if he/she had a better solution, but was not selected.\r\n\r\nIn a regular competition, this validation is done automatically, as the LB will tell us who wins, however, in the Dato Award, we do not know.\r\n\r\nFor instance, I have absolutely no idea where I am currently regarding GLC award, when the competition is over, user \"Snow\" could say, hey!, I have a GLC solution for 0.98, however, it should not matter, as it was not selected.\r\n\r\nMy concern is, how is it going to work at the end? should we post somewhere our scores and the highest (after Dato inspection) and confirmation about Kaggle that indeed was a selected submission wins?",
      "votes": null
    },
    {
      "id": "89742",
      "postDate": "08/19/2015 02:19:00",
      "content": "<p>@NxGTR, good point!</p>\n\n<p>John Snow please don't die!</p>",
      "rawMarkdown": "NxGTR, good point!\r\n\r\nJohn Snow please don't die!",
      "votes": null
    },
    {
      "id": "89743",
      "postDate": "08/19/2015 02:22:58",
      "content": "<p>[quote=rcarson;89742]</p>\n\n<p>@NxGTR, good point!</p>\n\n<p>John Snow please don't die!</p>\n\n<p>[/quote]</p>\n\n<p>Hahaha good to know Kaggle fellows feel my pain as well</p>",
      "rawMarkdown": "[quote=rcarson;89742]\r\n\r\n@NxGTR, good point!\r\n\r\nJohn Snow please don't die!\r\n\r\n[/quote]\r\n\r\nHahaha good to know Kaggle fellows feel my pain as well",
      "votes": null
    },
    {
      "id": "89856",
      "postDate": "08/19/2015 22:04:31",
      "content": "<p>@NxGTR,</p>\n\n<p>For the Dato award, we'll contact the highest performer with name including &quot;GLC&quot;, and Dato will review the solution to verify that it uses GraphLab Create. The award won't be announced until the review is done and the results are reproduced. </p>\n\n<p>In this special case you provided, John will provide his winning solution with X tool, while he will have a name with GLC. We will find out that he didn't use GLC, and ask for an explanation. If he could provide that solution in time, and if it's still the highest performing GLC model, he will get both awards. If he couldn't provide his GLC model in time, we will go to the next winner on the leaderboard who can provide a GLC model. </p>\n\n<p>Snow's model of 0.98 will not win because it wasn't selected. </p>",
      "rawMarkdown": "NxGTR,\r\n\r\nFor the Dato award, we'll contact the highest performer with name including \"GLC\", and Dato will review the solution to verify that it uses GraphLab Create. The award won't be announced until the review is done and the results are reproduced. \r\n\r\nIn this special case you provided, John will provide his winning solution with X tool, while he will have a name with GLC. We will find out that he didn't use GLC, and ask for an explanation. If he could provide that solution in time, and if it's still the highest performing GLC model, he will get both awards. If he couldn't provide his GLC model in time, we will go to the next winner on the leaderboard who can provide a GLC model. \r\n\r\nSnow's model of 0.98 will not win because it wasn't selected.",
      "votes": null
    },
    {
      "id": "89859",
      "postDate": "08/19/2015 22:31:03",
      "content": "<p>[quote=Wendy Kan;89856]\nIf he couldn't provide his GLC model in time, <strong>we will go to the next winner on the leaderboard</strong> who can provide a GLC model. \n[/quote]</p>\n\n<p>Thanks Wendy, however, I do not think that is correct, take a look at the following:</p>\n\n<p>Leaderboard / Best X-Tool / Best GLC</p>\n\n<p>1.- SomeOne / 0.98 / can not be reproduced</p>\n\n<p>2.- Alguien GLC / 0.97 / 0.96</p>\n\n<p>3.- SomeBody GLC / 0.965 / 0.965</p>\n\n<p>Why would you bother in asking <em>Alguien</em> a GLC model?, its not the best performing, even, if its a valid GLC submission, it should not matter.</p>\n\n<p>So, I do not think it is correct to &quot;go to the next winner on the leaderboard&quot;, because what you really care is the position <em>with GLC</em> models only, not overall.</p>\n\n<p>Or... am I missing something?</p>",
      "rawMarkdown": "[quote=Wendy Kan;89856]\r\nIf he couldn't provide his GLC model in time, **we will go to the next winner on the leaderboard** who can provide a GLC model. \r\n[/quote]\r\n\r\nThanks Wendy, however, I do not think that is correct, take a look at the following:\r\n\r\nLeaderboard / Best X-Tool / Best GLC\r\n\r\n1.- SomeOne / 0.98 / can not be reproduced\r\n\r\n2.- Alguien GLC / 0.97 / 0.96\r\n\r\n3.- SomeBody GLC / 0.965 / 0.965\r\n\r\nWhy would you bother in asking *Alguien* a GLC model?, its not the best performing, even, if its a valid GLC submission, it should not matter.\r\n\r\nSo, I do not think it is correct to \"go to the next winner on the leaderboard\", because what you really care is the position *with GLC* models only, not overall.\r\n\r\nOr... am I missing something?",
      "votes": null
    },
    {
      "id": "90042",
      "postDate": "08/21/2015 22:07:31",
      "content": "<p>@NxGTR,</p>\n\n<p>Thanks for the example, and yes, you are correct. </p>\n\n<p>At the end of the competition, we will post on forum a call for participants to email us if their solution uses GLC, including the rank of that solution. We will review the solutions accordingly. </p>",
      "rawMarkdown": "NxGTR,\r\n\r\nThanks for the example, and yes, you are correct. \r\n\r\nAt the end of the competition, we will post on forum a call for participants to email us if their solution uses GLC, including the rank of that solution. We will review the solutions accordingly.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 89198,
      "author_name": "cloofa",
      "author_url": "",
      "post_date": "08/12/2015 17:19:46",
      "content": "<p>@Jiming Ye: you are right, we currently do not support SVD but it is on our roadmap.  You can use our numpy intergration (which is also out-of-core so you will not need to have all the data in memory) to transfer any SFrame into a numpy array and do SVD there.   </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89199,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/12/2015 17:25:12",
      "content": "<p>So.... we can do whatever we want with the data with other tools and for the <em>Dato Creators Award</em> we are only required to use one of GLC classifiers?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89209,
      "author_name": "cloofa",
      "author_url": "",
      "post_date": "08/12/2015 18:31:43",
      "content": "<p>@NxGTR: GLC provides users with an SDK (<a href=\"https://github.com/dato-code/GraphLab-Create-SDK\">https://github.com/dato-code/GraphLab-Create-SDK</a>) that you can use to writeup anything you need, including an SVD implementation or any other form of feature engineering.  </p>\n\n<p>To win the &quot;Dato Creators Award&quot;, you are allowed to write any class you are interested in using our SDK, or use what is currently supported in our tools.  Here is a good example on libffm and porting it into GLC using the SDK (<a href=\"https://github.com/dato-code/python-libffm\">https://github.com/dato-code/python-libffm</a>).</p>\n\n<p>Also, if you think there are any features you need and find missing in our tools, feel free to send a feature request to kaggle@dato.com .  We would love to hear from you!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89210,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/12/2015 18:56:01",
      "content": "<p>I still don't get it... so, your own &quot;Getting Started Code&quot; is not eligible for the <em>Dato Creators Award</em>?, because the pre-processing does not use GLC sdk at all.</p>\n\n<p>Anyway, it is too early in competition to worry about prizes XD, I think we can discuss more about this if for some remotely reason still matters (i.e., if I am still at a good spot in the leaderboard) to me in October.</p>\n\n<p>Thanks a lot!.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89213,
      "author_name": "cloofa",
      "author_url": "",
      "post_date": "08/12/2015 19:07:45",
      "content": "<p>@NxGTR: sorry if I mislead you!   What I meant is you can totally use our starter code or anything that is in GLC for the award.  In the case you want to do something more complicated, or use methods we do not support, then you can use the toolkit to add that functionality.  In @Jiming Ye's case, he can implement SVD using the toolkit and be valid for the <em>Dato Creators Award</em></p>\n\n<p>So the &quot;Getting Started Code&quot; is certainly valid for the award! Let me know if this clarifies things.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89216,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/12/2015 19:32:31",
      "content": "<p>Thanks a lot, I think its a bit more clear, however... I am still not so sure about it, for instance, what if @Jiming Ye decides he can easily code SVD on his own, pure python without the need of the SDK, you can see that step as feature engineering, just like you did with the <em>process_html.py</em>.</p>\n\n<p>What confuses me, is the difference between, &quot;<em>you <strong>could</strong> use GLC sdk</em>&quot; vs &quot;<em>you <strong>must</strong> use GLC sdk</em>&quot;</p>\n\n<p>My workflow is exactly as your starting code:</p>\n\n<p>1) do_magic.py &lt;--- has nothing to do with GLC sdk (even, if some of its code could be coded with the SDK)</p>\n\n<p>2) classify.py &lt;--- use GLC classifiers and techniques to further process and classify.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89219,
      "author_name": "cloofa",
      "author_url": "",
      "post_date": "08/12/2015 20:28:26",
      "content": "<p>@NxGTR:  process_html.py was written without GLC for the purpose of getting people started, independent from whether they want to use GLC or not in the competition.  Parsing the HTML's with GLC would tie people to use GLC, and this was not our intention.  We thought a lot of python users would want to use their own tools (Pandas/Scikit/etc...) for this, and we did not want to constrain them.</p>\n\n<p>However, you do make a very good point.  Reading/parsing/extracting text from HTML's is OK to do with any tool you want.  Anything after that, in regards to machine learning, would need to be done with GLC to be valid for &quot;Dato Creators Award&quot;.  We are a machine learning company afterall!  SVD or any other form of feature engineering that requires transformation of the features extracted  falls under that category.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89220,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/12/2015 20:33:11",
      "content": "<p>@cloofa, </p>\n\n<p>Thanks, seem clear now.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89720,
      "author_name": "akrumholz",
      "author_url": "",
      "post_date": "08/18/2015 21:12:37",
      "content": "<p>It's not clear for me how to let you know I'm using GLC in my submission (to be considered for the Dato creators award) ? </p>\n\n<p>Should I only prefix my team name with 'GLC'?  If so how can I make 2 submissions? (one using only GLC and another using also other libraries)?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89722,
      "author_name": "akrumholz",
      "author_url": "",
      "post_date": "08/18/2015 21:23:58",
      "content": "<p>Not sure if this is feasible, but ideally, since we can actually select 2 submissions could we use the submission description to mark the one we want to be considered for the Dato award? \n(description = 'GLC')</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89724,
      "author_name": "cloofa",
      "author_url": "",
      "post_date": "08/18/2015 21:49:38",
      "content": "<p>@Alan Krunmholz:  Creating 2 teams is going to be necessary (please read below), and we still need to check the code to confirm it qualifies for the Dato Award.  So please make sure you version your code as such.  Thanks!</p>\n\n<p>(N.B: I had to edit this post and correct for my previous statement)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89733,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/18/2015 22:54:40",
      "content": "<p>@cloofa</p>\n\n<p>It is very important that you work with Kaggle admins to decide how to enforce the Dato Award, take a look at this scenario:</p>\n\n<p>User: John Submissions: 3</p>\n\n<p>0.96 Using X-Tool [X]</p>\n\n<p>0.945 Using GLC [--]</p>\n\n<p>0.955 Using GLC [X]</p>\n\n<p>User: Snow Submissions: 3</p>\n\n<p>0.95 Using X-Tool [X]</p>\n\n<p>0.95 Using GLC [X]</p>\n\n<p>0.98 Using GLC [--]</p>\n\n<p>[X] stands for submission selected</p>\n\n<p>Who wins? of course John wins all and Snow gets nothing, even if he/she had a better solution, but was not selected.</p>\n\n<p>In a regular competition, this validation is done automatically, as the LB will tell us who wins, however, in the Dato Award, we do not know.</p>\n\n<p>For instance, I have absolutely no idea where I am currently regarding GLC award, when the competition is over, user &quot;Snow&quot; could say, hey!, I have a GLC solution for 0.98, however, it should not matter, as it was not selected.</p>\n\n<p>My concern is, how is it going to work at the end? should we post somewhere our scores and the highest (after Dato inspection) and confirmation about Kaggle that indeed was a selected submission wins?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89742,
      "author_name": "jiweiliu",
      "author_url": "",
      "post_date": "08/19/2015 02:19:00",
      "content": "<p>@NxGTR, good point!</p>\n\n<p>John Snow please don't die!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89743,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/19/2015 02:22:58",
      "content": "<p>[quote=rcarson;89742]</p>\n\n<p>@NxGTR, good point!</p>\n\n<p>John Snow please don't die!</p>\n\n<p>[/quote]</p>\n\n<p>Hahaha good to know Kaggle fellows feel my pain as well</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89856,
      "author_name": "wendykan",
      "author_url": "",
      "post_date": "08/19/2015 22:04:31",
      "content": "<p>@NxGTR,</p>\n\n<p>For the Dato award, we'll contact the highest performer with name including &quot;GLC&quot;, and Dato will review the solution to verify that it uses GraphLab Create. The award won't be announced until the review is done and the results are reproduced. </p>\n\n<p>In this special case you provided, John will provide his winning solution with X tool, while he will have a name with GLC. We will find out that he didn't use GLC, and ask for an explanation. If he could provide that solution in time, and if it's still the highest performing GLC model, he will get both awards. If he couldn't provide his GLC model in time, we will go to the next winner on the leaderboard who can provide a GLC model. </p>\n\n<p>Snow's model of 0.98 will not win because it wasn't selected. </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 89859,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "08/19/2015 22:31:03",
      "content": "<p>[quote=Wendy Kan;89856]\nIf he couldn't provide his GLC model in time, <strong>we will go to the next winner on the leaderboard</strong> who can provide a GLC model. \n[/quote]</p>\n\n<p>Thanks Wendy, however, I do not think that is correct, take a look at the following:</p>\n\n<p>Leaderboard / Best X-Tool / Best GLC</p>\n\n<p>1.- SomeOne / 0.98 / can not be reproduced</p>\n\n<p>2.- Alguien GLC / 0.97 / 0.96</p>\n\n<p>3.- SomeBody GLC / 0.965 / 0.965</p>\n\n<p>Why would you bother in asking <em>Alguien</em> a GLC model?, its not the best performing, even, if its a valid GLC submission, it should not matter.</p>\n\n<p>So, I do not think it is correct to &quot;go to the next winner on the leaderboard&quot;, because what you really care is the position <em>with GLC</em> models only, not overall.</p>\n\n<p>Or... am I missing something?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 90042,
      "author_name": "wendykan",
      "author_url": "",
      "post_date": "08/21/2015 22:07:31",
      "content": "<p>@NxGTR,</p>\n\n<p>Thanks for the example, and yes, you are correct. </p>\n\n<p>At the end of the competition, we will post on forum a call for participants to email us if their solution uses GLC, including the rank of that solution. We will review the solutions accordingly. </p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "89193": "I think the main difficulty is there's no SVD in GraphLab Create",
    "89198": "Jiming Ye: you are right, we currently do not support SVD but it is on our roadmap.  You can use our numpy intergration (which is also out-of-core so you will not need to have all the data in memory) to transfer any SFrame into a numpy array and do SVD there.",
    "89199": "So.... we can do whatever we want with the data with other tools and for the *Dato Creators Award* we are only required to use one of GLC classifiers?",
    "89209": "NxGTR: GLC provides users with an SDK (https://github.com/dato-code/GraphLab-Create-SDK) that you can use to writeup anything you need, including an SVD implementation or any other form of feature engineering.  \r\n\r\nTo win the \"Dato Creators Award\", you are allowed to write any class you are interested in using our SDK, or use what is currently supported in our tools.  Here is a good example on libffm and porting it into GLC using the SDK (https://github.com/dato-code/python-libffm).\r\n\r\nAlso, if you think there are any features you need and find missing in our tools, feel free to send a feature request to kaggle@dato.com .  We would love to hear from you!",
    "89210": "I still don't get it... so, your own \"Getting Started Code\" is not eligible for the *Dato Creators Award*?, because the pre-processing does not use GLC sdk at all.\r\n\r\nAnyway, it is too early in competition to worry about prizes XD, I think we can discuss more about this if for some remotely reason still matters (i.e., if I am still at a good spot in the leaderboard) to me in October.\r\n\r\nThanks a lot!.",
    "89213": "NxGTR: sorry if I mislead you!   What I meant is you can totally use our starter code or anything that is in GLC for the award.  In the case you want to do something more complicated, or use methods we do not support, then you can use the toolkit to add that functionality.  In @Jiming Ye's case, he can implement SVD using the toolkit and be valid for the *Dato Creators Award*\r\n\r\nSo the \"Getting Started Code\" is certainly valid for the award! Let me know if this clarifies things.",
    "89216": "Thanks a lot, I think its a bit more clear, however... I am still not so sure about it, for instance, what if @Jiming Ye decides he can easily code SVD on his own, pure python without the need of the SDK, you can see that step as feature engineering, just like you did with the *process_html.py*.\r\n\r\nWhat confuses me, is the difference between, \"*you **could** use GLC sdk*\" vs \"*you **must** use GLC sdk*\"\r\n\r\nMy workflow is exactly as your starting code:\r\n\r\n1) do_magic.py <--- has nothing to do with GLC sdk (even, if some of its code could be coded with the SDK)\r\n\r\n2) classify.py <--- use GLC classifiers and techniques to further process and classify.",
    "89219": "NxGTR:  process_html.py was written without GLC for the purpose of getting people started, independent from whether they want to use GLC or not in the competition.  Parsing the HTML's with GLC would tie people to use GLC, and this was not our intention.  We thought a lot of python users would want to use their own tools (Pandas/Scikit/etc...) for this, and we did not want to constrain them.\r\n\r\nHowever, you do make a very good point.  Reading/parsing/extracting text from HTML's is OK to do with any tool you want.  Anything after that, in regards to machine learning, would need to be done with GLC to be valid for \"Dato Creators Award\".  We are a machine learning company afterall!  SVD or any other form of feature engineering that requires transformation of the features extracted  falls under that category.",
    "89220": "cloofa, \r\n\r\nThanks, seem clear now.",
    "89720": "It's not clear for me how to let you know I'm using GLC in my submission (to be considered for the Dato creators award) ? \r\n\r\nShould I only prefix my team name with 'GLC'?  If so how can I make 2 submissions? (one using only GLC and another using also other libraries)?",
    "89722": "Not sure if this is feasible, but ideally, since we can actually select 2 submissions could we use the submission description to mark the one we want to be considered for the Dato award? \r\n(description = 'GLC')",
    "89724": "Alan Krunmholz:  Creating 2 teams is going to be necessary (please read below), and we still need to check the code to confirm it qualifies for the Dato Award.  So please make sure you version your code as such.  Thanks!\r\n\r\n(N.B: I had to edit this post and correct for my previous statement)",
    "89733": "cloofa\r\n\r\nIt is very important that you work with Kaggle admins to decide how to enforce the Dato Award, take a look at this scenario:\r\n\r\nUser: John Submissions: 3\r\n\r\n0.96 Using X-Tool [X]\r\n\r\n0.945 Using GLC [--]\r\n\r\n0.955 Using GLC [X]\r\n\r\n\r\nUser: Snow Submissions: 3\r\n\r\n0.95 Using X-Tool [X]\r\n\r\n0.95 Using GLC [X]\r\n\r\n0.98 Using GLC [--]\r\n\r\n[X] stands for submission selected\r\n\r\nWho wins? of course John wins all and Snow gets nothing, even if he/she had a better solution, but was not selected.\r\n\r\nIn a regular competition, this validation is done automatically, as the LB will tell us who wins, however, in the Dato Award, we do not know.\r\n\r\nFor instance, I have absolutely no idea where I am currently regarding GLC award, when the competition is over, user \"Snow\" could say, hey!, I have a GLC solution for 0.98, however, it should not matter, as it was not selected.\r\n\r\nMy concern is, how is it going to work at the end? should we post somewhere our scores and the highest (after Dato inspection) and confirmation about Kaggle that indeed was a selected submission wins?",
    "89742": "NxGTR, good point!\r\n\r\nJohn Snow please don't die!",
    "89743": "[quote=rcarson;89742]\r\n\r\n@NxGTR, good point!\r\n\r\nJohn Snow please don't die!\r\n\r\n[/quote]\r\n\r\nHahaha good to know Kaggle fellows feel my pain as well",
    "89856": "NxGTR,\r\n\r\nFor the Dato award, we'll contact the highest performer with name including \"GLC\", and Dato will review the solution to verify that it uses GraphLab Create. The award won't be announced until the review is done and the results are reproduced. \r\n\r\nIn this special case you provided, John will provide his winning solution with X tool, while he will have a name with GLC. We will find out that he didn't use GLC, and ask for an explanation. If he could provide that solution in time, and if it's still the highest performing GLC model, he will get both awards. If he couldn't provide his GLC model in time, we will go to the next winner on the leaderboard who can provide a GLC model. \r\n\r\nSnow's model of 0.98 will not win because it wasn't selected.",
    "89859": "[quote=Wendy Kan;89856]\r\nIf he couldn't provide his GLC model in time, **we will go to the next winner on the leaderboard** who can provide a GLC model. \r\n[/quote]\r\n\r\nThanks Wendy, however, I do not think that is correct, take a look at the following:\r\n\r\nLeaderboard / Best X-Tool / Best GLC\r\n\r\n1.- SomeOne / 0.98 / can not be reproduced\r\n\r\n2.- Alguien GLC / 0.97 / 0.96\r\n\r\n3.- SomeBody GLC / 0.965 / 0.965\r\n\r\nWhy would you bother in asking *Alguien* a GLC model?, its not the best performing, even, if its a valid GLC submission, it should not matter.\r\n\r\nSo, I do not think it is correct to \"go to the next winner on the leaderboard\", because what you really care is the position *with GLC* models only, not overall.\r\n\r\nOr... am I missing something?",
    "90042": "NxGTR,\r\n\r\nThanks for the example, and yes, you are correct. \r\n\r\nAt the end of the competition, we will post on forum a call for participants to email us if their solution uses GLC, including the rank of that solution. We will review the solutions accordingly."
  },
  "source": "meta"
}