I'm beginner in datamining. I will do datamining projects, tasks as data modeling(run different dm algorithms), preprocessing(ETL,complex SQL quieries). Is it sufficient for that tasks to use ordinary notebook(I consider quadcore i7 2ghz, 16GB ram, 256ssd -however dm desktop tools as spss,sass doesn't work in mac, but it's possible virtualize windows with eg. virtualbox) or is it highly recommended to use powerfull destkop PC. Which do you recommend ,which alternative is most used in practice ?

Should I chose a desktop or notebook?

I need to buy notebook, I consider between 2models macbook pro: cheaper(quadcore i7 2ghz, 16GB ram, 256GB ssd,iris pro) or expensive(quadcore i7 2.3ghz, 16GB ram, 512GB ssd, GeForce GT 750M) and price difference between this models is 400eur. In the near future I will be work on datamining projects(as I mention on data modeling, preprocessing tasks) so I'm finding some optimal hardware soultion which allow me to work on this projects so I'm thinking some options:

  1. is it sufficient to buy cheaper macbook pro ?

    or when power of 1. isn't sufficient then(more expensive alternatives):

  2. buy expensive macbook pro ?
  3. or buy for ordinary day to day work cheaper macbook pro + for datamining purpose buy some powerful desktop PC (I think around 400-600eur it's possible to buy powerful desktop pc). Is it in practice on real projects mostly used separate powerful desktop PC for this datamining tasks or mostly use only ordinary powerful notebooks ?

Question around OS

For my day to day work I prefer unix. The question is when is it sufficient for datamining tasks to use emulation of windows(eg. virtualbox,parallels..), or is it very noticably better separate machine with windows(I think some tasks eg ETL complex SQL quieries run longer time).


2 Answers 2


I think your question should be split in two parts:

Which OS should you use?

This is a very controversial topic and it depends on the tools you will be using. I myself prefer to work on a Unix based system (i.e. Linux/Mac). However, since most of the software you mentioned are designed for MS Windows, I would recommend going for that option. Virtualization technology has gotten much better in the past decade, but it still takes a huge penalty on running code to virtualize non-trivial software.

Should I chose a desktop or notebook?

Again, very dependent on your own choices. I think you should try to answer this by estimating the amounts of data you are using and tying that to your specs. Some of the software packages you mentioned work 'in memory' so if your datasets are bigger than your RAM can handle, ... wel that would be a problem.

  • $\begingroup$ On a modern CPU with hardware support for memory partitioning, which is nearly all of them, there is almost zero overhead for virtualizing computational software. Only when I/O is involved is there a virtualization penalty. Perhaps you were thinking of emulation? $\endgroup$
    – Ben Voigt
    Commented Dec 7, 2013 at 0:14
  • 1
    $\begingroup$ In my personal experience (usually Windows/Linux combinations) there has always been an overhead. This may well be due to external reasons. For instance, in the context of the set-up in the question, I think the hypervisor and the underlying OS itself will need a lot of resources, so you won't have access to those. As you mention, I/O can be quite problematic as well. I consider this to be a big enough drawback to avoid using a virtual machine when dealing with big data operations on a daily basis. $\endgroup$
    – ciri
    Commented Dec 7, 2013 at 7:21
  • $\begingroup$ Yes, I agree that if the problem doesn't fit in memory, and therefore is I/O bandwidth-limited, then virtualization will be fairly expensive. And virtualization will affect what fits, yes, but when RAM is in the 16GB range, the fraction used by the host gets pretty small. $\endgroup$
    – Ben Voigt
    Commented Dec 7, 2013 at 16:27


The software you list (SPSS, SAS) are statistics packages. They are hardly suitable for actual data mining (kernel methods, neural nets, deep learning, ...). That said, you could easily replace both of those by R which works perfectly on any platform.

In terms of data mining software, to my experience, you should be looking at things like Python, MATLAB, Mahout, ... All of these work on any software platform.

Operating System

I am probably biased, but in my opinion Linux is by far the best choice (OSX a distant second). It may have a steep learning curve but once you know the basics your productivity is much, much higher than on Windows due to the myriad of available tools.

Linux also makes using open-source software easier, which is becoming increasingly popular in machine learning. Check out mloss.org for example.

Desktop vs laptop

I believe this is mainly a matter of opinion. I personally prefer to work on a desktop. The main objective criterion here is whether you will be working in different locations (maybe at costumers' offices, ...).

  • $\begingroup$ yes there exist ibm spss modeler and sas rapid rapid miner for datamining. Yes I will work on different locations, but I can also connect remotely on my PC in home. $\endgroup$
    – jsoalevel
    Commented Dec 8, 2013 at 8:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.