{
  "id": 53251,
  "title": "Advice to newbies",
  "url": "/competitions/talkingdata-adtracking-fraud-detection/discussion/53251",
  "author_name": "CPMP",
  "post_date": "2018-03-28T15:23:21.993000",
  "votes": 74,
  "comment_count": 54,
  "views": 0,
  "content": "<p>There are lots of questions of the form: <em>is it a good idea to do X?</em>, where X can take many different form.</p>\n\n<p>There is only one answer for that: just implement <em>X</em> and try it.  You'll learn way more doing this than hoping for someone else to answer that question for you.  When you ask instead of trying it yourself, then at best you give away a good idea.  </p>",
  "messages": [
    {
      "id": 305195,
      "postDate": "2018-03-28T15:23:21.993Z",
      "content": "<p>There are lots of questions of the form: <em>is it a good idea to do X?</em>, where X can take many different form.</p>\n\n<p>There is only one answer for that: just implement <em>X</em> and try it.  You'll learn way more doing this than hoping for someone else to answer that question for you.  When you ask instead of trying it yourself, then at best you give away a good idea.  </p>",
      "rawMarkdown": "There are lots of questions of the form: *is it a good idea to do X?*, where X can take many different form.\n\nThere is only one answer for that: just implement *X* and try it.  You'll learn way more doing this than hoping for someone else to answer that question for you.  When you ask instead of trying it yourself, then at best you give away a good idea.  ",
      "votes": 74
    },
    {
      "id": 305434,
      "postDate": "2018-03-28T21:27:23.523Z",
      "content": "<p>I disagree with this. \"Implement it and see if it works\" can be dangerous advice to newbies like me. What if I implement an idea and I see that it doesn't work? Does it mean that the idea is definitely bad? Isn't there a chance that the idea has potential, but I just can't implement it properly?</p>\n\n<p>I agree that newcomers should be getting their hands dirty, since that is the best way to learn (at least for me), but telling them to just go ahead and accept that an idea does not work simply because <em>they</em> (as beginners, mind you) could not get it to work is not the best of advice.</p>\n\n<p>Speaking of which, I posted <a href=\"https://www.kaggle.com/c/talkingdata-adtracking-fraud-detection/discussion/53274\">this question</a>. I hit a brick wall and I don't know if it's worth pursuing this idea, but I am just not sure if the idea is bad, or if I am doing something wrong.</p>\n\n<p>That is what being a noob is all about.</p>",
      "rawMarkdown": "I disagree with this. \"Implement it and see if it works\" can be dangerous advice to newbies like me. What if I implement an idea and I see that it doesn't work? Does it mean that the idea is definitely bad? Isn't there a chance that the idea has potential, but I just can't implement it properly?\n\nI agree that newcomers should be getting their hands dirty, since that is the best way to learn (at least for me), but telling them to just go ahead and accept that an idea does not work simply because *they* (as beginners, mind you) could not get it to work is not the best of advice.\n\nSpeaking of which, I posted [this question](https://www.kaggle.com/c/talkingdata-adtracking-fraud-detection/discussion/53274). I hit a brick wall and I don't know if it's worth pursuing this idea, but I am just not sure if the idea is bad, or if I am doing something wrong.\n\nThat is what being a noob is all about.",
      "votes": 10,
      "replies": [
        {
          "id": 305646,
          "postDate": "2018-03-29T07:54:52.163Z",
          "content": "<p>What can I say?  I followed my own advice and it worked pretty well for me.  You are free to do otherwise.</p>\n\n<p>But your question is different from what I discuss: you did implement your idea, and you tried it, before asking your question.  You are following my advice actually ;) </p>",
          "rawMarkdown": "What can I say?  I followed my own advice and it worked pretty well for me.  You are free to do otherwise.\n\nBut your question is different from what I discuss: you did implement your idea, and you tried it, before asking your question.  You are following my advice actually ;) ",
          "votes": 6
        },
        {
          "id": 306148,
          "postDate": "2018-03-29T23:36:22.343Z",
          "content": "<p>I understand where you are coming from, since there are a ton of people who want a quick answer instead of actually learning and putting in the work. What I am trying to say is that implementing something and then receiving feedback on it is the best way to go for the majority of people. That's all. :)</p>",
          "rawMarkdown": "I understand where you are coming from, since there are a ton of people who want a quick answer instead of actually learning and putting in the work. What I am trying to say is that implementing something and then receiving feedback on it is the best way to go for the majority of people. That's all. :)",
          "votes": 5
        },
        {
          "id": 306193,
          "postDate": "2018-03-30T02:44:08.737Z",
          "content": "<p>Agreed!</p>",
          "rawMarkdown": "Agreed!",
          "votes": 3
        }
      ]
    },
    {
      "id": 306239,
      "postDate": "2018-03-30T05:12:42.430Z",
      "content": "<p>Meta questions like \"How do I minimize my regret in games with incomplete information?\" are difficult to answer when there is high dimensionality. I'm reminded of the Zen axiom \"In the beginner's mind there are many possibilities. In the master's mind there are few.\" I recommend a reduction in dimension. Try PCA. ;)</p>\n\n<p>In all seriousness, I do recommend CPMP's strategy. It may not be optimal per competition, but it is over all the competitions as a whole. You learn a lot from what doesn't work --much like your models. You may want to implement some stopping criteria to cut your losses on pursuing fruitless avenues. I've done that plenty of times in the past. That coupled with life/time constraints can hamper what should be an enjoyable learning experience.</p>\n\n<p>I think after this competition is over I may share my entire workflow for this competition, including:</p>\n\n<ul>\n<li>EDA</li>\n<li>Data Prep</li>\n<li>Feature Engineering</li>\n<li>Feature Selection</li>\n<li>Model Testing</li>\n<li>Model Selection</li>\n<li>etc</li>\n</ul>\n\n<p>I've changed my approach recently. IMO it helps me the most to quickly get a hacky full workflow implemented (everything from EDA, creating validation sets, etc. to creating a submission). After a few competitions, you'll have enough resources to make your own tools to automate some of the heaviest parts of the workflow.</p>\n\n<p>When I first started, I didn't spend near enough time on Feature Engineering. I could be wrong, but I believe you can get pretty far if you have good features. So don't spend too much time on making multiple models, bagging, and stacking. If you don't have a good number of informative features (which aren't all highly correlated with one another), then all the ensembling in the world isn't going to save you.</p>\n\n<p>...all that being said, and I still haven't finished checking how tweaking <code>pos_scale_weight</code> and SMOTE changes the game. Meh. No one's perfect.</p>",
      "rawMarkdown": "Meta questions like \"How do I minimize my regret in games with incomplete information?\" are difficult to answer when there is high dimensionality. I'm reminded of the Zen axiom \"In the beginner's mind there are many possibilities. In the master's mind there are few.\" I recommend a reduction in dimension. Try PCA. ;)\n\nIn all seriousness, I do recommend CPMP's strategy. It may not be optimal per competition, but it is over all the competitions as a whole. You learn a lot from what doesn't work --much like your models. You may want to implement some stopping criteria to cut your losses on pursuing fruitless avenues. I've done that plenty of times in the past. That coupled with life/time constraints can hamper what should be an enjoyable learning experience.\n\nI think after this competition is over I may share my entire workflow for this competition, including:\n\n * EDA\n * Data Prep\n * Feature Engineering\n * Feature Selection\n * Model Testing\n * Model Selection\n * etc\n\nI've changed my approach recently. IMO it helps me the most to quickly get a hacky full workflow implemented (everything from EDA, creating validation sets, etc. to creating a submission). After a few competitions, you'll have enough resources to make your own tools to automate some of the heaviest parts of the workflow.\n\nWhen I first started, I didn't spend near enough time on Feature Engineering. I could be wrong, but I believe you can get pretty far if you have good features. So don't spend too much time on making multiple models, bagging, and stacking. If you don't have a good number of informative features (which aren't all highly correlated with one another), then all the ensembling in the world isn't going to save you.\n\n...all that being said, and I still haven't finished checking how tweaking `pos_scale_weight` and SMOTE changes the game. Meh. No one's perfect.",
      "votes": 8
    },
    {
      "id": 306929,
      "postDate": "2018-03-31T10:53:01.800Z",
      "content": "<p>@CPMP, Just a newbie question : how do I implement X ? I can integrate X (French joke), I surely can differentiate X but implementation wise, Wow ;-) Sorry about that, I could not resist it.</p>",
      "rawMarkdown": "@CPMP, Just a newbie question : how do I implement X ? I can integrate X (French joke), I surely can differentiate X but implementation wise, Wow ;-) Sorry about that, I could not resist it.",
      "votes": 6,
      "replies": [
        {
          "id": 306930,
          "postDate": "2018-03-31T10:59:20.840Z",
          "content": "<p>Don't disclose our French edge here please... ;)</p>",
          "rawMarkdown": "Don't disclose our French edge here please... ;)",
          "votes": 5
        },
        {
          "id": 308097,
          "postDate": "2018-04-02T23:49:28.813Z",
          "content": "<p>Lol .. French Edge .. a very interesting way for implementing the 'X' :P good one.</p>",
          "rawMarkdown": "Lol .. French Edge .. a very interesting way for implementing the 'X' :P good one.",
          "votes": 1
        },
        {
          "id": 314318,
          "postDate": "2018-04-15T08:22:22.240Z",
          "content": "<p>I just loved your French jokes. A bon entendeur, salut!</p>",
          "rawMarkdown": "I just loved your French jokes. A bon entendeur, salut!"
        }
      ]
    },
    {
      "id": 308424,
      "postDate": "2018-04-03T13:49:10.060Z",
      "content": "<p>Yor're right. That's the way it is. Only those who dare to practice will learn.</p>",
      "rawMarkdown": "\nYor're right. That's the way it is. Only those who dare to practice will learn.",
      "votes": 5
    },
    {
      "id": 310655,
      "postDate": "2018-04-08T07:24:14.423Z",
      "content": "<p>There is a Japanese expression which I think illustrates best the advice given here hy CPMP\nどこまで できるかやって みて ください (try how far you can) .... and only then ask a question :-).</p>",
      "rawMarkdown": "There is a Japanese expression which I think illustrates best the advice given here hy CPMP\nどこまで できるかやって みて ください (try how far you can) .... and only then ask a question :-).",
      "votes": 6,
      "replies": [
        {
          "id": 311164,
          "postDate": "2018-04-09T14:20:03.063Z",
          "content": "<p>Good one ;)</p>",
          "rawMarkdown": "Good one ;)",
          "votes": 1
        }
      ]
    },
    {
      "id": 311434,
      "postDate": "2018-04-10T03:53:20.933Z",
      "content": "<p>I agree completely with this approach. </p>\n\n<p>I have learned more in this competition about the impact of adjusting the structure and parameters of a neural network model by actually doing it, than by reading forums or through taking MOOCs</p>",
      "rawMarkdown": "I agree completely with this approach. \n\nI have learned more in this competition about the impact of adjusting the structure and parameters of a neural network model by actually doing it, than by reading forums or through taking MOOCs",
      "votes": 3
    },
    {
      "id": 310711,
      "postDate": "2018-04-08T11:18:11.747Z",
      "content": "<p>You're right. I myself have done many courses but implementation made me learn much more.</p>",
      "rawMarkdown": "You're right. I myself have done many courses but implementation made me learn much more.",
      "votes": 3
    },
    {
      "id": 310605,
      "postDate": "2018-04-08T04:44:44.480Z",
      "content": "<p>The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. Will I help him? Or just let him waste his time and tell him: Oh Try to discover by yourself!\nBy telling him where the problem is, I will help him to win some time. Some people just want to improve themselves and it is not by judging the quality of their questions that you will help them. How someone can improve if he has no questions?\nHumility is the key. If anyone needs help, I am there... </p>",
      "rawMarkdown": "The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. Will I help him? Or just let him waste his time and tell him: Oh Try to discover by yourself!\nBy telling him where the problem is, I will help him to win some time. Some people just want to improve themselves and it is not by judging the quality of their questions that you will help them. How someone can improve if he has no questions?\nHumility is the key. If anyone needs help, I am there... ",
      "votes": 3,
      "replies": [
        {
          "id": 310654,
          "postDate": "2018-04-08T07:18:04.757Z",
          "content": "<p>It is not like it is a matter of life and death - you definitely are not letting down someone with his car broken in the middle of the desert - after all there are plenty of sources of information readily available all around.</p>\n\n<p>The question is very interesting, because it is about what is help for a beginner and what is not. As a former university lecturer (teaching, with some interruptions, for around 20 years), I might have something to say here.</p>\n\n<p>The students that are most appreciated by university professors and teachers are the ones that ask \"informed questions\" i.e. they only ask a question after they put a bit of thinking on the problem. Their questions tend to be to the point, they do not ask about things that they can get themselves with a short search (it used to be in the University library, now on Wikipedia or somewhere else on the net).</p>\n\n<p>It is also easier to help these students because the minimum effort they already put give you the confidence that your time is well spent helping them, they invested in solving the problem so that they have a real stake in the matter, they are prepared to listen (because they are really interested) and they are ready to understand (the intellectual effort they already put in did this). And, of course, because they made efforts to understand, they feel like fellow researchers and the solidarity kicks in :-).</p>",
          "rawMarkdown": "It is not like it is a matter of life and death - you definitely are not letting down someone with his car broken in the middle of the desert - after all there are plenty of sources of information readily available all around.\n\nThe question is very interesting, because it is about what is help for a beginner and what is not. As a former university lecturer (teaching, with some interruptions, for around 20 years), I might have something to say here.\n\nThe students that are most appreciated by university professors and teachers are the ones that ask \"informed questions\" i.e. they only ask a question after they put a bit of thinking on the problem. Their questions tend to be to the point, they do not ask about things that they can get themselves with a short search (it used to be in the University library, now on Wikipedia or somewhere else on the net).\n\nIt is also easier to help these students because the minimum effort they already put give you the confidence that your time is well spent helping them, they invested in solving the problem so that they have a real stake in the matter, they are prepared to listen (because they are really interested) and they are ready to understand (the intellectual effort they already put in did this). And, of course, because they made efforts to understand, they feel like fellow researchers and the solidarity kicks in :-).\n",
          "votes": 2
        },
        {
          "id": 310707,
          "postDate": "2018-04-08T11:16:07.763Z",
          "content": "<blockquote>\n  <p>The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. </p>\n</blockquote>\n\n<p>I don't see the analogy here.  In your case, the person is a driver, not a  would be mechanics.  The driver has no interest in learning how to become  a mechanics.</p>\n\n<p>In my post I assumed that we are all here to become better data scientists.  Your answer makes me wonder if this is the case.  It may be that some are here to get the highest possible rank without learning anything on the fly, just by using other people code and ideas as black boxes.  I can understand that for these guys my advice is not right at all.</p>",
          "rawMarkdown": "&gt; The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. \n\nI don't see the analogy here.  In your case, the person is a driver, not a  would be mechanics.  The driver has no interest in learning how to become  a mechanics.\n\nIn my post I assumed that we are all here to become better data scientists.  Your answer makes me wonder if this is the case.  It may be that some are here to get the highest possible rank without learning anything on the fly, just by using other people code and ideas as black boxes.  I can understand that for these guys my advice is not right at all.",
          "votes": 1
        },
        {
          "id": 310710,
          "postDate": "2018-04-08T11:17:56.677Z",
          "content": "<blockquote>\n  <p>It is also easier to help these students because the minimum effort they already put give you the confidence that your time is well spent helping them,</p>\n</blockquote>\n\n<p>You nailed it!  This and the rest of your answer deserve many up votes.</p>",
          "rawMarkdown": "&gt; It is also easier to help these students because the minimum effort they already put give you the confidence that your time is well spent helping them,\n\nYou nailed it!  This and the rest of your answer deserve many up votes.",
          "votes": 1
        },
        {
          "id": 314316,
          "postDate": "2018-04-15T08:20:20.653Z",
          "content": "<p>I nailed it and that's why I got a down vote :-).</p>",
          "rawMarkdown": "I nailed it and that's why I got a down vote :-)."
        }
      ]
    },
    {
      "id": 308279,
      "postDate": "2018-04-03T09:00:03.903Z",
      "content": "<p>Just want to ask that, I tried with some features as \"var, means\" but there is no improvements compared with only using \"count\" features, is there any reason for that? (Maybe useless features will weaken the model?)</p>",
      "rawMarkdown": "Just want to ask that, I tried with some features as \"var, means\" but there is no improvements compared with only using \"count\" features, is there any reason for that? (Maybe useless features will weaken the model?)",
      "votes": 3
    },
    {
      "id": 308343,
      "postDate": "2018-04-03T11:32:30.237Z",
      "content": "<p>Good advice. I see quite a lot of questions asking things like 'if I do this, will it work?'</p>\n\n<p>If you try it, you'll find that it either does, or it doesn't. If it doesn't, then you can ask 'I tried this and it didn't work; <em>why</em> didn't it work?', which is perhaps a better learning experience in the long run.</p>\n\n<p>We're dealing with data <em>science</em> and along with that comes the application of the scientific method of formulating a hypothesis, testing it, then gaining knowledge through that experience. If it doesn't work, you've hopefully still learned something, so it's not time wasted.</p>",
      "rawMarkdown": "Good advice. I see quite a lot of questions asking things like 'if I do this, will it work?'\n\nIf you try it, you'll find that it either does, or it doesn't. If it doesn't, then you can ask 'I tried this and it didn't work; *why* didn't it work?', which is perhaps a better learning experience in the long run.\n\nWe're dealing with data *science* and along with that comes the application of the scientific method of formulating a hypothesis, testing it, then gaining knowledge through that experience. If it doesn't work, you've hopefully still learned something, so it's not time wasted.",
      "votes": 4
    },
    {
      "id": 308341,
      "postDate": "2018-04-03T11:30:41.667Z",
      "content": "<p><em>Knowing is not enough; we must apply. Willing is not enough; we must do.</em> -Goethe</p>",
      "rawMarkdown": "*Knowing is not enough; we must apply. Willing is not enough; we must do.* -Goethe\n",
      "votes": 4
    },
    {
      "id": 316508,
      "postDate": "2018-04-19T08:29:05.223Z",
      "content": "<p>Nice advice :)</p>",
      "rawMarkdown": "Nice advice :)",
      "votes": 1
    },
    {
      "id": 314307,
      "postDate": "2018-04-15T07:48:42.277Z",
      "content": "<p>This is a great advice! I believe this is precisely why a curious person manages to learn and implement better on-the-job in less than a year in comparison with what they have learned in years at college/university.</p>",
      "rawMarkdown": "This is a great advice! I believe this is precisely why a curious person manages to learn and implement better on-the-job in less than a year in comparison with what they have learned in years at college/university.",
      "votes": 1
    },
    {
      "id": 311173,
      "postDate": "2018-04-09T14:42:45.907Z",
      "content": "<p>Agreed, trial and error definitely gets you farther ahead than waiting for the perfect understanding/opportunity</p>",
      "rawMarkdown": "Agreed, trial and error definitely gets you farther ahead than waiting for the perfect understanding/opportunity",
      "votes": 1
    },
    {
      "id": 310575,
      "postDate": "2018-04-08T02:31:24.537Z",
      "content": "<p>Like it! Wouldn't you mind If I quote it to some of my friends who just get started?</p>",
      "rawMarkdown": "Like it! Wouldn't you mind If I quote it to some of my friends who just get started?",
      "votes": 1,
      "replies": [
        {
          "id": 310708,
          "postDate": "2018-04-08T11:16:22.437Z",
          "content": "<p>Go ahead.</p>",
          "rawMarkdown": "Go ahead.",
          "votes": 1
        }
      ]
    },
    {
      "id": 309717,
      "postDate": "2018-04-05T21:15:43.583Z",
      "content": "<p>I completely agree with you. That goes for almost anything. You learn from experience! </p>",
      "rawMarkdown": "I completely agree with you. That goes for almost anything. You learn from experience! ",
      "votes": 1
    },
    {
      "id": 308282,
      "postDate": "2018-04-03T09:07:54.823Z",
      "content": "<p>doing all ideas seems impossible !\nI`m learning Data Science and ML by courses and books and sometimes a simple problem can stop me for days...</p>",
      "rawMarkdown": "doing all ideas seems impossible !\nI`m learning Data Science and ML by courses and books and sometimes a simple problem can stop me for days...",
      "votes": 1,
      "replies": [
        {
          "id": 308317,
          "postDate": "2018-04-03T10:33:07.673Z",
          "content": "<p>That's why you need to practice.  Just reading other people work (books, courses, kernels) is not enough.</p>",
          "rawMarkdown": "That's why you need to practice.  Just reading other people work (books, courses, kernels) is not enough.",
          "votes": 1
        },
        {
          "id": 309718,
          "postDate": "2018-04-05T21:17:29.423Z",
          "content": "<p>I agree that learning from experience and doing is the best way to learn. Sometimes it seems tough, but its all about starting with the right foundation. I dont think anyone can succeed in Data Science skipping steps. Best of luck Mohamad! :)</p>",
          "rawMarkdown": "I agree that learning from experience and doing is the best way to learn. Sometimes it seems tough, but its all about starting with the right foundation. I dont think anyone can succeed in Data Science skipping steps. Best of luck Mohamad! :)"
        }
      ]
    },
    {
      "id": 306989,
      "postDate": "2018-03-31T13:55:26.057Z",
      "content": "<p>Totally agree, I am playing to this with 16Gbytes RAM, try to think new feats, get a sample of training dataset, evaluate features, integrate, iterate.</p>",
      "rawMarkdown": "Totally agree, I am playing to this with 16Gbytes RAM, try to think new feats, get a sample of training dataset, evaluate features, integrate, iterate.",
      "votes": 1
    },
    {
      "id": 306967,
      "postDate": "2018-03-31T12:57:30.167Z",
      "content": "<p>Thank you for the tip. I completely agree with you. This also worked (and keeps working) best for me. One thing is to see/read the solution another thing is to do it yourself. When I look at somebody else' kernel all seems very \"easy\" and logical, even if this kernel is actually the one from the competition winner. But if I try to reproduce it without copy paste... now that's a completely different story :)</p>",
      "rawMarkdown": "Thank you for the tip. I completely agree with you. This also worked (and keeps working) best for me. One thing is to see/read the solution another thing is to do it yourself. When I look at somebody else' kernel all seems very \"easy\" and logical, even if this kernel is actually the one from the competition winner. But if I try to reproduce it without copy paste... now that's a completely different story :)",
      "votes": 1
    },
    {
      "id": 306548,
      "postDate": "2018-03-30T16:06:14.923Z",
      "content": "<p>Good advice indeed. Hitting your head on an issue again and again is likely to make you remember the solution for years to come!</p>",
      "rawMarkdown": "Good advice indeed. Hitting your head on an issue again and again is likely to make you remember the solution for years to come!",
      "votes": 1
    },
    {
      "id": 306464,
      "postDate": "2018-03-30T12:59:39.517Z",
      "content": "<p>+1 There is no way to pinpoint the solution just looking at a problem. Great Tip.</p>",
      "rawMarkdown": "+1 There is no way to pinpoint the solution just looking at a problem. Great Tip.",
      "votes": 1
    },
    {
      "id": 306351,
      "postDate": "2018-03-30T09:16:56.673Z",
      "content": "<p>Simple and concise yet a very useful tip, thanks. </p>",
      "rawMarkdown": "Simple and concise yet a very useful tip, thanks. ",
      "votes": 1
    },
    {
      "id": 305993,
      "postDate": "2018-03-29T18:05:36.750Z",
      "content": "<p>Well said.</p>",
      "rawMarkdown": "Well said.",
      "votes": 1
    },
    {
      "id": 305783,
      "postDate": "2018-03-29T12:01:32.657Z",
      "content": "<p>I agree. Knowing what did not work and (maybe more importantly: why it did not work) is of great value. Just getting the correct answer from your question will sometimes only boast more questions.</p>",
      "rawMarkdown": "I agree. Knowing what did not work and (maybe more importantly: why it did not work) is of great value. Just getting the correct answer from your question will sometimes only boast more questions.\n",
      "votes": 1
    },
    {
      "id": 305713,
      "postDate": "2018-03-29T09:58:11.160Z",
      "content": "<p>Hi CPMP, thanks for taking time off and putting advice for newbies. it is quite valid. </p>\n\n<p>I read somewhere that we can read solutions and approaches uses by top leaderboard people in kaggle competitions to understand how experts approach the data science problems. I tried to go through some competitions but didn't find much on solution / approach. is there any trick to reach their solution / approach?. it would be be very helpful to read solutions of existing competitions. </p>\n\n<p>Thanks in advance.</p>",
      "rawMarkdown": "Hi CPMP, thanks for taking time off and putting advice for newbies. it is quite valid. \n\nI read somewhere that we can read solutions and approaches uses by top leaderboard people in kaggle competitions to understand how experts approach the data science problems. I tried to go through some competitions but didn't find much on solution / approach. is there any trick to reach their solution / approach?. it would be be very helpful to read solutions of existing competitions. \n\nThanks in advance.",
      "votes": 1,
      "replies": [
        {
          "id": 305717,
          "postDate": "2018-03-29T10:07:48.067Z",
          "content": "<p>Here is how to find these.  you go to a past competition forum, you sort posts by number of votes, and you should find things like <em>solution #x overview</em>, where x is a small integer. For instance, here is Porto Seguro top solution:  <a href=\"https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#latest-293332\">https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#latest-293332</a></p>",
          "rawMarkdown": "Here is how to find these.  you go to a past competition forum, you sort posts by number of votes, and you should find things like *solution #x overview*, where x is a small integer. For instance, here is Porto Seguro top solution:  https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#latest-293332\n\n",
          "votes": 3
        },
        {
          "id": 305719,
          "postDate": "2018-03-29T10:09:11.180Z",
          "content": "<p>Thanks for your help, it is useful</p>",
          "rawMarkdown": "Thanks for your help, it is useful"
        }
      ]
    },
    {
      "id": 305326,
      "postDate": "2018-03-28T18:12:14.247Z",
      "content": "<p>good words!</p>",
      "rawMarkdown": "good words!",
      "votes": 1
    },
    {
      "id": 323603,
      "postDate": "2018-05-05T16:57:15.450Z",
      "content": "<p>I could not agree more with what CPMP has said. Just a little comment. Spend time reading forum and looking at other stuff. It is also a good way to learn. But always try by yourself. You will find that sometimes things said in forum are not accurate. And if you do not try and rely blindly on the information provided, you will never be able to discover that the communicated information were not that accurate!</p>",
      "rawMarkdown": "I could not agree more with what CPMP has said. Just a little comment. Spend time reading forum and looking at other stuff. It is also a good way to learn. But always try by yourself. You will find that sometimes things said in forum are not accurate. And if you do not try and rely blindly on the information provided, you will never be able to discover that the communicated information were not that accurate!",
      "votes": 2
    },
    {
      "id": 310838,
      "postDate": "2018-04-08T20:00:00.703Z",
      "content": "<p>Okay,  can I reinvent wheel?</p>",
      "rawMarkdown": "Okay,  can I reinvent wheel?",
      "votes": 2,
      "replies": [
        {
          "id": 310839,
          "postDate": "2018-04-08T20:01:01.357Z",
          "content": "<p>That will be your wheel.  Priceless.</p>",
          "rawMarkdown": "That will be your wheel.  Priceless.",
          "votes": 1
        },
        {
          "id": 314315,
          "postDate": "2018-04-15T08:17:52.857Z",
          "content": "<p>In order to be able to advance the knowledge of others, you will have to learn how to advance your knowledge first. There is only one way to do this, by practicing, doing your own trial and error. I know that there is a superficial way of learning and this is put in practice in elementary school or junior high, where the teacher is showing you how things are or how things are done and you just imitate. This is the very elementary way of learning. The next level will be for you to start learning by doing some trial and error, and have then, eventually, a master (one with more experience, like the professor in high school or university), that is correcting your errors and give you some directions. Then there is the next level of learning, where you take your own path and your mentor will only stop you to not progress on the \"paths that vanishes in the woods\" (like one gifted professor told me during my PhD). And of course, it comes a moment when you learn because you need to help others, and you will understand that you need to systematize and synthesize your knowledge so that you will present it in a understandable way for someone that need your direction but did not walked step by step all the territory you mapped long time ago. And only then you realize what precious gift gave to you your elementary school teacher :-).</p>",
          "rawMarkdown": "In order to be able to advance the knowledge of others, you will have to learn how to advance your knowledge first. There is only one way to do this, by practicing, doing your own trial and error. I know that there is a superficial way of learning and this is put in practice in elementary school or junior high, where the teacher is showing you how things are or how things are done and you just imitate. This is the very elementary way of learning. The next level will be for you to start learning by doing some trial and error, and have then, eventually, a master (one with more experience, like the professor in high school or university), that is correcting your errors and give you some directions. Then there is the next level of learning, where you take your own path and your mentor will only stop you to not progress on the \"paths that vanishes in the woods\" (like one gifted professor told me during my PhD). And of course, it comes a moment when you learn because you need to help others, and you will understand that you need to systematize and synthesize your knowledge so that you will present it in a understandable way for someone that need your direction but did not walked step by step all the territory you mapped long time ago. And only then you realize what precious gift gave to you your elementary school teacher :-).",
          "votes": 1
        }
      ]
    },
    {
      "id": 310351,
      "postDate": "2018-04-07T08:39:27.357Z",
      "content": "<p>I completely agree as well. Besides, implementing a technique is great experience, and I've often found unexpected useful applications for failures even if they didn't achieve my initial goal.</p>",
      "rawMarkdown": "I completely agree as well. Besides, implementing a technique is great experience, and I've often found unexpected useful applications for failures even if they didn't achieve my initial goal.",
      "votes": 2
    },
    {
      "id": 308567,
      "postDate": "2018-04-03T17:32:49.143Z",
      "content": "<p>Great advice. A reflective question based on implementation may be a better strategy. \"I tried X and Y which resulted in the same results. Is that due to the similarity of what I tried or similarity in the data?\"</p>",
      "rawMarkdown": "Great advice. A reflective question based on implementation may be a better strategy. \"I tried X and Y which resulted in the same results. Is that due to the similarity of what I tried or similarity in the data?\"",
      "votes": 2
    },
    {
      "id": 309821,
      "postDate": "2018-04-06T02:59:36.617Z",
      "rawMarkdown": "",
      "votes": 2,
      "isDeleted": true
    },
    {
      "id": 309388,
      "postDate": "2018-04-05T08:05:01.110Z",
      "content": "<p>Very true. Thanks.</p>",
      "rawMarkdown": "Very true. Thanks.",
      "votes": 1
    },
    {
      "id": 308044,
      "postDate": "2018-04-02T21:18:03.703Z",
      "content": "<p>Agree!!. Thanks.</p>",
      "rawMarkdown": "Agree!!. Thanks.",
      "votes": 1
    },
    {
      "id": 307995,
      "postDate": "2018-04-02T19:17:35.250Z",
      "content": "<p>Thanks for the advice CPMP</p>",
      "rawMarkdown": "Thanks for the advice CPMP",
      "votes": 1
    },
    {
      "id": 307003,
      "postDate": "2018-03-31T14:56:38.747Z",
      "content": "<p>thanks</p>",
      "rawMarkdown": "thanks",
      "votes": 1
    },
    {
      "id": 306564,
      "postDate": "2018-03-30T16:53:48.150Z",
      "content": "<p>Thanks </p>",
      "rawMarkdown": "Thanks ",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 305434,
      "author_name": "Antonis Maronikolakis",
      "author_url": "",
      "post_date": "2018-03-28T21:27:23.523000",
      "content": "<p>I disagree with this. \"Implement it and see if it works\" can be dangerous advice to newbies like me. What if I implement an idea and I see that it doesn't work? Does it mean that the idea is definitely bad? Isn't there a chance that the idea has potential, but I just can't implement it properly?</p>\n\n<p>I agree that newcomers should be getting their hands dirty, since that is the best way to learn (at least for me), but telling them to just go ahead and accept that an idea does not work simply because <em>they</em> (as beginners, mind you) could not get it to work is not the best of advice.</p>\n\n<p>Speaking of which, I posted <a href=\"https://www.kaggle.com/c/talkingdata-adtracking-fraud-detection/discussion/53274\">this question</a>. I hit a brick wall and I don't know if it's worth pursuing this idea, but I am just not sure if the idea is bad, or if I am doing something wrong.</p>\n\n<p>That is what being a noob is all about.</p>",
      "votes": 10,
      "replies": [
        {
          "id": 305646,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-03-29T07:54:52.163000",
          "content": "<p>What can I say?  I followed my own advice and it worked pretty well for me.  You are free to do otherwise.</p>\n\n<p>But your question is different from what I discuss: you did implement your idea, and you tried it, before asking your question.  You are following my advice actually ;) </p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 306148,
          "author_name": "Antonis Maronikolakis",
          "author_url": "",
          "post_date": "2018-03-29T23:36:22.343000",
          "content": "<p>I understand where you are coming from, since there are a ton of people who want a quick answer instead of actually learning and putting in the work. What I am trying to say is that implementing something and then receiving feedback on it is the best way to go for the majority of people. That's all. :)</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 306193,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-03-30T02:44:08.737000",
          "content": "<p>Agreed!</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 306239,
      "author_name": "Bryan Arnold",
      "author_url": "",
      "post_date": "2018-03-30T05:12:42.430000",
      "content": "<p>Meta questions like \"How do I minimize my regret in games with incomplete information?\" are difficult to answer when there is high dimensionality. I'm reminded of the Zen axiom \"In the beginner's mind there are many possibilities. In the master's mind there are few.\" I recommend a reduction in dimension. Try PCA. ;)</p>\n\n<p>In all seriousness, I do recommend CPMP's strategy. It may not be optimal per competition, but it is over all the competitions as a whole. You learn a lot from what doesn't work --much like your models. You may want to implement some stopping criteria to cut your losses on pursuing fruitless avenues. I've done that plenty of times in the past. That coupled with life/time constraints can hamper what should be an enjoyable learning experience.</p>\n\n<p>I think after this competition is over I may share my entire workflow for this competition, including:</p>\n\n<ul>\n<li>EDA</li>\n<li>Data Prep</li>\n<li>Feature Engineering</li>\n<li>Feature Selection</li>\n<li>Model Testing</li>\n<li>Model Selection</li>\n<li>etc</li>\n</ul>\n\n<p>I've changed my approach recently. IMO it helps me the most to quickly get a hacky full workflow implemented (everything from EDA, creating validation sets, etc. to creating a submission). After a few competitions, you'll have enough resources to make your own tools to automate some of the heaviest parts of the workflow.</p>\n\n<p>When I first started, I didn't spend near enough time on Feature Engineering. I could be wrong, but I believe you can get pretty far if you have good features. So don't spend too much time on making multiple models, bagging, and stacking. If you don't have a good number of informative features (which aren't all highly correlated with one another), then all the ensembling in the world isn't going to save you.</p>\n\n<p>...all that being said, and I still haven't finished checking how tweaking <code>pos_scale_weight</code> and SMOTE changes the game. Meh. No one's perfect.</p>",
      "votes": 8,
      "replies": []
    },
    {
      "id": 306929,
      "author_name": "olivier",
      "author_url": "",
      "post_date": "2018-03-31T10:53:01.800000",
      "content": "<p>@CPMP, Just a newbie question : how do I implement X ? I can integrate X (French joke), I surely can differentiate X but implementation wise, Wow ;-) Sorry about that, I could not resist it.</p>",
      "votes": 6,
      "replies": [
        {
          "id": 306930,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-03-31T10:59:20.840000",
          "content": "<p>Don't disclose our French edge here please... ;)</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 308097,
          "author_name": "David Joy",
          "author_url": "",
          "post_date": "2018-04-02T23:49:28.813000",
          "content": "<p>Lol .. French Edge .. a very interesting way for implementing the 'X' :P good one.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 314318,
          "author_name": "Gabriel Preda",
          "author_url": "",
          "post_date": "2018-04-15T08:22:22.240000",
          "content": "<p>I just loved your French jokes. A bon entendeur, salut!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 308424,
      "author_name": "Alexander Ruffner",
      "author_url": "",
      "post_date": "2018-04-03T13:49:10.060000",
      "content": "<p>Yor're right. That's the way it is. Only those who dare to practice will learn.</p>",
      "votes": 5,
      "replies": []
    },
    {
      "id": 310655,
      "author_name": "Gabriel Preda",
      "author_url": "",
      "post_date": "2018-04-08T07:24:14.423000",
      "content": "<p>There is a Japanese expression which I think illustrates best the advice given here hy CPMP\nどこまで できるかやって みて ください (try how far you can) .... and only then ask a question :-).</p>",
      "votes": 6,
      "replies": [
        {
          "id": 311164,
          "author_name": "AJ",
          "author_url": "",
          "post_date": "2018-04-09T14:20:03.063000",
          "content": "<p>Good one ;)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 311434,
      "author_name": "Joseph Romani",
      "author_url": "",
      "post_date": "2018-04-10T03:53:20.933000",
      "content": "<p>I agree completely with this approach. </p>\n\n<p>I have learned more in this competition about the impact of adjusting the structure and parameters of a neural network model by actually doing it, than by reading forums or through taking MOOCs</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 310711,
      "author_name": "Rohan Asthana",
      "author_url": "",
      "post_date": "2018-04-08T11:18:11.747000",
      "content": "<p>You're right. I myself have done many courses but implementation made me learn much more.</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 310605,
      "author_name": "Badr Ouali",
      "author_url": "",
      "post_date": "2018-04-08T04:44:44.480000",
      "content": "<p>The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. Will I help him? Or just let him waste his time and tell him: Oh Try to discover by yourself!\nBy telling him where the problem is, I will help him to win some time. Some people just want to improve themselves and it is not by judging the quality of their questions that you will help them. How someone can improve if he has no questions?\nHumility is the key. If anyone needs help, I am there... </p>",
      "votes": 3,
      "replies": [
        {
          "id": 310654,
          "author_name": "Gabriel Preda",
          "author_url": "",
          "post_date": "2018-04-08T07:18:04.757000",
          "content": "<p>It is not like it is a matter of life and death - you definitely are not letting down someone with his car broken in the middle of the desert - after all there are plenty of sources of information readily available all around.</p>\n\n<p>The question is very interesting, because it is about what is help for a beginner and what is not. As a former university lecturer (teaching, with some interruptions, for around 20 years), I might have something to say here.</p>\n\n<p>The students that are most appreciated by university professors and teachers are the ones that ask \"informed questions\" i.e. they only ask a question after they put a bit of thinking on the problem. Their questions tend to be to the point, they do not ask about things that they can get themselves with a short search (it used to be in the University library, now on Wikipedia or somewhere else on the net).</p>\n\n<p>It is also easier to help these students because the minimum effort they already put give you the confidence that your time is well spent helping them, they invested in solving the problem so that they have a real stake in the matter, they are prepared to listen (because they are really interested) and they are ready to understand (the intellectual effort they already put in did this). And, of course, because they made efforts to understand, they feel like fellow researchers and the solidarity kicks in :-).</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 310707,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-04-08T11:16:07.763000",
          "content": "<blockquote>\n  <p>The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. </p>\n</blockquote>\n\n<p>I don't see the analogy here.  In your case, the person is a driver, not a  would be mechanics.  The driver has no interest in learning how to become  a mechanics.</p>\n\n<p>In my post I assumed that we are all here to become better data scientists.  Your answer makes me wonder if this is the case.  It may be that some are here to get the highest possible rank without learning anything on the fly, just by using other people code and ideas as black boxes.  I can understand that for these guys my advice is not right at all.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 310710,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-04-08T11:17:56.677000",
          "content": "<blockquote>\n  <p>It is also easier to help these students because the minimum effort they already put give you the confidence that your time is well spent helping them,</p>\n</blockquote>\n\n<p>You nailed it!  This and the rest of your answer deserve many up votes.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 314316,
          "author_name": "Gabriel Preda",
          "author_url": "",
          "post_date": "2018-04-15T08:20:20.653000",
          "content": "<p>I nailed it and that's why I got a down vote :-).</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 308279,
      "author_name": "Perfect Is Shit",
      "author_url": "",
      "post_date": "2018-04-03T09:00:03.903000",
      "content": "<p>Just want to ask that, I tried with some features as \"var, means\" but there is no improvements compared with only using \"count\" features, is there any reason for that? (Maybe useless features will weaken the model?)</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 308343,
      "author_name": "ChrisBow",
      "author_url": "",
      "post_date": "2018-04-03T11:32:30.237000",
      "content": "<p>Good advice. I see quite a lot of questions asking things like 'if I do this, will it work?'</p>\n\n<p>If you try it, you'll find that it either does, or it doesn't. If it doesn't, then you can ask 'I tried this and it didn't work; <em>why</em> didn't it work?', which is perhaps a better learning experience in the long run.</p>\n\n<p>We're dealing with data <em>science</em> and along with that comes the application of the scientific method of formulating a hypothesis, testing it, then gaining knowledge through that experience. If it doesn't work, you've hopefully still learned something, so it's not time wasted.</p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 308341,
      "author_name": "AJ",
      "author_url": "",
      "post_date": "2018-04-03T11:30:41.667000",
      "content": "<p><em>Knowing is not enough; we must apply. Willing is not enough; we must do.</em> -Goethe</p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 316508,
      "author_name": "Hikkiiiiiiiii",
      "author_url": "",
      "post_date": "2018-04-19T08:29:05.223000",
      "content": "<p>Nice advice :)</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 314307,
      "author_name": "essjay",
      "author_url": "",
      "post_date": "2018-04-15T07:48:42.277000",
      "content": "<p>This is a great advice! I believe this is precisely why a curious person manages to learn and implement better on-the-job in less than a year in comparison with what they have learned in years at college/university.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 311173,
      "author_name": "Ankush Laxmeshwar",
      "author_url": "",
      "post_date": "2018-04-09T14:42:45.907000",
      "content": "<p>Agreed, trial and error definitely gets you farther ahead than waiting for the perfect understanding/opportunity</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 310575,
      "author_name": "trphng",
      "author_url": "",
      "post_date": "2018-04-08T02:31:24.537000",
      "content": "<p>Like it! Wouldn't you mind If I quote it to some of my friends who just get started?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 310708,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-04-08T11:16:22.437000",
          "content": "<p>Go ahead.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 309717,
      "author_name": "Christian H",
      "author_url": "",
      "post_date": "2018-04-05T21:15:43.583000",
      "content": "<p>I completely agree with you. That goes for almost anything. You learn from experience! </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 308282,
      "author_name": "mohamad sarami",
      "author_url": "",
      "post_date": "2018-04-03T09:07:54.823000",
      "content": "<p>doing all ideas seems impossible !\nI`m learning Data Science and ML by courses and books and sometimes a simple problem can stop me for days...</p>",
      "votes": 1,
      "replies": [
        {
          "id": 308317,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-04-03T10:33:07.673000",
          "content": "<p>That's why you need to practice.  Just reading other people work (books, courses, kernels) is not enough.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 309718,
          "author_name": "Christian H",
          "author_url": "",
          "post_date": "2018-04-05T21:17:29.423000",
          "content": "<p>I agree that learning from experience and doing is the best way to learn. Sometimes it seems tough, but its all about starting with the right foundation. I dont think anyone can succeed in Data Science skipping steps. Best of luck Mohamad! :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 306989,
      "author_name": "Dimitris Leventis",
      "author_url": "",
      "post_date": "2018-03-31T13:55:26.057000",
      "content": "<p>Totally agree, I am playing to this with 16Gbytes RAM, try to think new feats, get a sample of training dataset, evaluate features, integrate, iterate.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 306967,
      "author_name": "Asparuh Hristov",
      "author_url": "",
      "post_date": "2018-03-31T12:57:30.167000",
      "content": "<p>Thank you for the tip. I completely agree with you. This also worked (and keeps working) best for me. One thing is to see/read the solution another thing is to do it yourself. When I look at somebody else' kernel all seems very \"easy\" and logical, even if this kernel is actually the one from the competition winner. But if I try to reproduce it without copy paste... now that's a completely different story :)</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 306548,
      "author_name": "Nuzdotbot",
      "author_url": "",
      "post_date": "2018-03-30T16:06:14.923000",
      "content": "<p>Good advice indeed. Hitting your head on an issue again and again is likely to make you remember the solution for years to come!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 306464,
      "author_name": "Debadyuti RoyChowdhury",
      "author_url": "",
      "post_date": "2018-03-30T12:59:39.517000",
      "content": "<p>+1 There is no way to pinpoint the solution just looking at a problem. Great Tip.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 306351,
      "author_name": "Max",
      "author_url": "",
      "post_date": "2018-03-30T09:16:56.673000",
      "content": "<p>Simple and concise yet a very useful tip, thanks. </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 305993,
      "author_name": "Anthony",
      "author_url": "",
      "post_date": "2018-03-29T18:05:36.750000",
      "content": "<p>Well said.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 305783,
      "author_name": "Werner Brand",
      "author_url": "",
      "post_date": "2018-03-29T12:01:32.657000",
      "content": "<p>I agree. Knowing what did not work and (maybe more importantly: why it did not work) is of great value. Just getting the correct answer from your question will sometimes only boast more questions.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 305713,
      "author_name": "puneet vats",
      "author_url": "",
      "post_date": "2018-03-29T09:58:11.160000",
      "content": "<p>Hi CPMP, thanks for taking time off and putting advice for newbies. it is quite valid. </p>\n\n<p>I read somewhere that we can read solutions and approaches uses by top leaderboard people in kaggle competitions to understand how experts approach the data science problems. I tried to go through some competitions but didn't find much on solution / approach. is there any trick to reach their solution / approach?. it would be be very helpful to read solutions of existing competitions. </p>\n\n<p>Thanks in advance.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 305717,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-03-29T10:07:48.067000",
          "content": "<p>Here is how to find these.  you go to a past competition forum, you sort posts by number of votes, and you should find things like <em>solution #x overview</em>, where x is a small integer. For instance, here is Porto Seguro top solution:  <a href=\"https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#latest-293332\">https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#latest-293332</a></p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 305719,
          "author_name": "puneet vats",
          "author_url": "",
          "post_date": "2018-03-29T10:09:11.180000",
          "content": "<p>Thanks for your help, it is useful</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 305326,
      "author_name": "VladB",
      "author_url": "",
      "post_date": "2018-03-28T18:12:14.247000",
      "content": "<p>good words!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 323603,
      "author_name": "Eric",
      "author_url": "",
      "post_date": "2018-05-05T16:57:15.450000",
      "content": "<p>I could not agree more with what CPMP has said. Just a little comment. Spend time reading forum and looking at other stuff. It is also a good way to learn. But always try by yourself. You will find that sometimes things said in forum are not accurate. And if you do not try and rely blindly on the information provided, you will never be able to discover that the communicated information were not that accurate!</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 310838,
      "author_name": "Alexsey Shestakov",
      "author_url": "",
      "post_date": "2018-04-08T20:00:00.703000",
      "content": "<p>Okay,  can I reinvent wheel?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 310839,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2018-04-08T20:01:01.357000",
          "content": "<p>That will be your wheel.  Priceless.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 314315,
          "author_name": "Gabriel Preda",
          "author_url": "",
          "post_date": "2018-04-15T08:17:52.857000",
          "content": "<p>In order to be able to advance the knowledge of others, you will have to learn how to advance your knowledge first. There is only one way to do this, by practicing, doing your own trial and error. I know that there is a superficial way of learning and this is put in practice in elementary school or junior high, where the teacher is showing you how things are or how things are done and you just imitate. This is the very elementary way of learning. The next level will be for you to start learning by doing some trial and error, and have then, eventually, a master (one with more experience, like the professor in high school or university), that is correcting your errors and give you some directions. Then there is the next level of learning, where you take your own path and your mentor will only stop you to not progress on the \"paths that vanishes in the woods\" (like one gifted professor told me during my PhD). And of course, it comes a moment when you learn because you need to help others, and you will understand that you need to systematize and synthesize your knowledge so that you will present it in a understandable way for someone that need your direction but did not walked step by step all the territory you mapped long time ago. And only then you realize what precious gift gave to you your elementary school teacher :-).</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 310351,
      "author_name": "snhwang",
      "author_url": "",
      "post_date": "2018-04-07T08:39:27.357000",
      "content": "<p>I completely agree as well. Besides, implementing a technique is great experience, and I've often found unexpected useful applications for failures even if they didn't achieve my initial goal.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 308567,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-04-03T17:32:49.143000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 309821,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-04-06T02:59:36.617000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 309388,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-04-05T08:05:01.110000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 308044,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-04-02T21:18:03.703000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 307995,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-04-02T19:17:35.250000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 307003,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-03-31T14:56:38.747000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 306564,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-03-30T16:53:48.150000",
      "content": "",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "305195": "There are lots of questions of the form: *is it a good idea to do X?*, where X can take many different form.\n\nThere is only one answer for that: just implement *X* and try it.  You'll learn way more doing this than hoping for someone else to answer that question for you.  When you ask instead of trying it yourself, then at best you give away a good idea.  ",
    "305434": "I disagree with this. \"Implement it and see if it works\" can be dangerous advice to newbies like me. What if I implement an idea and I see that it doesn't work? Does it mean that the idea is definitely bad? Isn't there a chance that the idea has potential, but I just can't implement it properly?\n\nI agree that newcomers should be getting their hands dirty, since that is the best way to learn (at least for me), but telling them to just go ahead and accept that an idea does not work simply because *they* (as beginners, mind you) could not get it to work is not the best of advice.\n\nSpeaking of which, I posted [this question](https://www.kaggle.com/c/talkingdata-adtracking-fraud-detection/discussion/53274). I hit a brick wall and I don't know if it's worth pursuing this idea, but I am just not sure if the idea is bad, or if I am doing something wrong.\n\nThat is what being a noob is all about.",
    "306239": "Meta questions like \"How do I minimize my regret in games with incomplete information?\" are difficult to answer when there is high dimensionality. I'm reminded of the Zen axiom \"In the beginner's mind there are many possibilities. In the master's mind there are few.\" I recommend a reduction in dimension. Try PCA. ;)\n\nIn all seriousness, I do recommend CPMP's strategy. It may not be optimal per competition, but it is over all the competitions as a whole. You learn a lot from what doesn't work --much like your models. You may want to implement some stopping criteria to cut your losses on pursuing fruitless avenues. I've done that plenty of times in the past. That coupled with life/time constraints can hamper what should be an enjoyable learning experience.\n\nI think after this competition is over I may share my entire workflow for this competition, including:\n\n * EDA\n * Data Prep\n * Feature Engineering\n * Feature Selection\n * Model Testing\n * Model Selection\n * etc\n\nI've changed my approach recently. IMO it helps me the most to quickly get a hacky full workflow implemented (everything from EDA, creating validation sets, etc. to creating a submission). After a few competitions, you'll have enough resources to make your own tools to automate some of the heaviest parts of the workflow.\n\nWhen I first started, I didn't spend near enough time on Feature Engineering. I could be wrong, but I believe you can get pretty far if you have good features. So don't spend too much time on making multiple models, bagging, and stacking. If you don't have a good number of informative features (which aren't all highly correlated with one another), then all the ensembling in the world isn't going to save you.\n\n...all that being said, and I still haven't finished checking how tweaking `pos_scale_weight` and SMOTE changes the game. Meh. No one's perfect.",
    "306929": "@CPMP, Just a newbie question : how do I implement X ? I can integrate X (French joke), I surely can differentiate X but implementation wise, Wow ;-) Sorry about that, I could not resist it.",
    "308424": "\nYor're right. That's the way it is. Only those who dare to practice will learn.",
    "310655": "There is a Japanese expression which I think illustrates best the advice given here hy CPMP\nどこまで できるかやって みて ください (try how far you can) .... and only then ask a question :-).",
    "311434": "I agree completely with this approach. \n\nI have learned more in this competition about the impact of adjusting the structure and parameters of a neural network model by actually doing it, than by reading forums or through taking MOOCs",
    "310711": "You're right. I myself have done many courses but implementation made me learn much more.",
    "310605": "The big question is if I find someone having a problem with his car, and I know that it is a problem of battery. Will I help him? Or just let him waste his time and tell him: Oh Try to discover by yourself!\nBy telling him where the problem is, I will help him to win some time. Some people just want to improve themselves and it is not by judging the quality of their questions that you will help them. How someone can improve if he has no questions?\nHumility is the key. If anyone needs help, I am there... ",
    "308279": "Just want to ask that, I tried with some features as \"var, means\" but there is no improvements compared with only using \"count\" features, is there any reason for that? (Maybe useless features will weaken the model?)",
    "308343": "Good advice. I see quite a lot of questions asking things like 'if I do this, will it work?'\n\nIf you try it, you'll find that it either does, or it doesn't. If it doesn't, then you can ask 'I tried this and it didn't work; *why* didn't it work?', which is perhaps a better learning experience in the long run.\n\nWe're dealing with data *science* and along with that comes the application of the scientific method of formulating a hypothesis, testing it, then gaining knowledge through that experience. If it doesn't work, you've hopefully still learned something, so it's not time wasted.",
    "308341": "*Knowing is not enough; we must apply. Willing is not enough; we must do.* -Goethe\n",
    "316508": "Nice advice :)",
    "314307": "This is a great advice! I believe this is precisely why a curious person manages to learn and implement better on-the-job in less than a year in comparison with what they have learned in years at college/university.",
    "311173": "Agreed, trial and error definitely gets you farther ahead than waiting for the perfect understanding/opportunity",
    "310575": "Like it! Wouldn't you mind If I quote it to some of my friends who just get started?",
    "309717": "I completely agree with you. That goes for almost anything. You learn from experience! ",
    "308282": "doing all ideas seems impossible !\nI`m learning Data Science and ML by courses and books and sometimes a simple problem can stop me for days...",
    "306989": "Totally agree, I am playing to this with 16Gbytes RAM, try to think new feats, get a sample of training dataset, evaluate features, integrate, iterate.",
    "306967": "Thank you for the tip. I completely agree with you. This also worked (and keeps working) best for me. One thing is to see/read the solution another thing is to do it yourself. When I look at somebody else' kernel all seems very \"easy\" and logical, even if this kernel is actually the one from the competition winner. But if I try to reproduce it without copy paste... now that's a completely different story :)",
    "306548": "Good advice indeed. Hitting your head on an issue again and again is likely to make you remember the solution for years to come!",
    "306464": "+1 There is no way to pinpoint the solution just looking at a problem. Great Tip.",
    "306351": "Simple and concise yet a very useful tip, thanks. ",
    "305993": "Well said.",
    "305783": "I agree. Knowing what did not work and (maybe more importantly: why it did not work) is of great value. Just getting the correct answer from your question will sometimes only boast more questions.\n",
    "305713": "Hi CPMP, thanks for taking time off and putting advice for newbies. it is quite valid. \n\nI read somewhere that we can read solutions and approaches uses by top leaderboard people in kaggle competitions to understand how experts approach the data science problems. I tried to go through some competitions but didn't find much on solution / approach. is there any trick to reach their solution / approach?. it would be be very helpful to read solutions of existing competitions. \n\nThanks in advance.",
    "305326": "good words!",
    "323603": "I could not agree more with what CPMP has said. Just a little comment. Spend time reading forum and looking at other stuff. It is also a good way to learn. But always try by yourself. You will find that sometimes things said in forum are not accurate. And if you do not try and rely blindly on the information provided, you will never be able to discover that the communicated information were not that accurate!",
    "310838": "Okay,  can I reinvent wheel?",
    "310351": "I completely agree as well. Besides, implementing a technique is great experience, and I've often found unexpected useful applications for failures even if they didn't achieve my initial goal.",
    "308567": "Great advice. A reflective question based on implementation may be a better strategy. \"I tried X and Y which resulted in the same results. Is that due to the similarity of what I tried or similarity in the data?\"",
    "309821": "",
    "309388": "Very true. Thanks.",
    "308044": "Agree!!. Thanks.",
    "307995": "Thanks for the advice CPMP",
    "307003": "thanks",
    "306564": "Thanks "
  }
}