{
  "id": 6138,
  "title": "Speed",
  "url": "/competitions/facebook-recruiting-iii-keyword-extraction/discussion/6138",
  "author_name": "",
  "post_date": "2013-10-28T12:52:18.967Z",
  "votes": null,
  "comment_count": 2,
  "views": 1267,
  "content": "<p>Hi,</p>\n<p>I wonder how slow/fast are your scripts and how do you handle speed issue? I use Python for this competition and I had to simplify my code and get 0.04 lower mean F1 score for better speed (~ 2+ test instances per second on my PC), but still the Test file needs huge amount of time for processing (more than 24h) -- and it's still after initial preprocessing of the data.</p>\n<p>How much time did it take in your case? How do you handle this issue? I wonder because it is a competition for individuals and it seems the problem needs great amount of computing power (or time).</p>",
  "messages": [
    {
      "id": "32773",
      "postDate": "10/28/2013 12:52:18",
      "content": "<p>Hi,</p>\n<p>I wonder how slow/fast are your scripts and how do you handle speed issue? I use Python for this competition and I had to simplify my code and get 0.04 lower mean F1 score for better speed (~ 2+ test instances per second on my PC), but still the Test file needs huge amount of time for processing (more than 24h) -- and it's still after initial preprocessing of the data.</p>\n<p>How much time did it take in your case? How do you handle this issue? I wonder because it is a competition for individuals and it seems the problem needs great amount of computing power (or time).</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "32793",
      "postDate": "10/28/2013 20:44:42",
      "content": "<p>I have not worried about computation time or memory yet, so my scripts are not fully optimized. I just wanted&nbsp;first to push accuracy as far as I could. Obviously, they are a little bit optimized. Otherwise it would be impossible to check multiple ideas as I have done. I think all scripts take less than 4 hours from start to finish, including preprocessing. Most of the time belongs to the training part.</p>\n<p>I am not using a cluster, just a good PC. Good cpu (i7), good memory (8 GB Ram) and a normal hard drive plenty of GBs. I think my solution does not use all memory, but I did not check it. If your computer it is much much worse than this, then it could be the reason. But I have read in other posts people who makes magic with less than this, so I am not pretty sure.</p>\n<p>On the other hand, I think there are people using databases. I barely use them and in this case, I am not. I just read the train and test file as long as I need it. Obviously, in this way, it is not possible to have random access to each sample, so I had to come up with methods which do not need random access. Maybe, the overload of the databases (if you are using them) increase your running time a lot.</p>\n<p>I had some ideas which would have taken several days so I did not finally use them. Then, I tried new ones and they worked apparently well and using much less time. Maybe the algorithms you are trying are too much complex. </p>\n<p>You should also consider whether your solution can be divided in multiple steps or not. In this way, you can save your intermediate results in such a way that you do not have to repeat those steps never ever again. It can save a lot of time when you are prototyping a new algorithm.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "32794",
      "postDate": "10/28/2013 20:54:47",
      "content": "<p>Thanks for your answer! It is good to hear from someone whose score is high that it is possible to make it less time consuming.</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 32793,
      "author_name": "emiliogortizg",
      "author_url": "",
      "post_date": "10/28/2013 20:44:42",
      "content": "<p>I have not worried about computation time or memory yet, so my scripts are not fully optimized. I just wanted&nbsp;first to push accuracy as far as I could. Obviously, they are a little bit optimized. Otherwise it would be impossible to check multiple ideas as I have done. I think all scripts take less than 4 hours from start to finish, including preprocessing. Most of the time belongs to the training part.</p>\n<p>I am not using a cluster, just a good PC. Good cpu (i7), good memory (8 GB Ram) and a normal hard drive plenty of GBs. I think my solution does not use all memory, but I did not check it. If your computer it is much much worse than this, then it could be the reason. But I have read in other posts people who makes magic with less than this, so I am not pretty sure.</p>\n<p>On the other hand, I think there are people using databases. I barely use them and in this case, I am not. I just read the train and test file as long as I need it. Obviously, in this way, it is not possible to have random access to each sample, so I had to come up with methods which do not need random access. Maybe, the overload of the databases (if you are using them) increase your running time a lot.</p>\n<p>I had some ideas which would have taken several days so I did not finally use them. Then, I tried new ones and they worked apparently well and using much less time. Maybe the algorithms you are trying are too much complex. </p>\n<p>You should also consider whether your solution can be divided in multiple steps or not. In this way, you can save your intermediate results in such a way that you do not have to repeat those steps never ever again. It can save a lot of time when you are prototyping a new algorithm.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 32794,
      "author_name": "tymekw",
      "author_url": "",
      "post_date": "10/28/2013 20:54:47",
      "content": "<p>Thanks for your answer! It is good to hear from someone whose score is high that it is possible to make it less time consuming.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "32773": "",
    "32793": "",
    "32794": ""
  },
  "source": "meta"
}