On Aug 27, 2008, at 8:33 AM, Richard Tomsett wrote:

There's quite a good description of WEKA and its capabilities on the course page for a module I took this year: http://www.inf.ed.ac.uk/teaching/courses/dme/html/software2.html

It's more a general suite of data-mining tools rather than a tool to address a specific task like Taste (plus it's obviously not implemented for parallel processing which could be problematic for scaling up). From the link above:

  * *Advantages*: The obvious advantage of a package like Weka is that
    *a whole range of data preparation, feature selection and data
    mining algorithms are integrated*. This means that only one data
    format is needed, and trying out and comparing different
    approaches becomes really easy. The package also comes with *a
    GUI*, which should make it easier to use.

Yeah, it would be good for Mahout to adopt an approach for either translating from ARFF to our format, or just use ARFF or whatever else Weka does, but I don't want it to preclude us from innovating where we need to innovate.




  * *Disadvantages*: Probably the most important disadvantage of data
    mining suites like this is that *they do not implement the newest
    techniques*. For example the MLP implemented has a very basic
    training algorithm (backprop with momentum), and the SVM only uses
    polynomial kernels, and does not support numeric estimation. ...
    *A third possible problem is scaling*. For difficult tasks on
    large datasets, the running time can become quite long, and java
    sometimes gives an OutOfMemory error. This problem can be reduced
    by using the '-mx/x/' option when calling java, where /x/ is
    memory size (eg '50m'). For large datasets it will always be
    necessary to reduce the size to be able to work within reasonable
    time limits. A fourth problem is that *the GUI does not implement
    all the possible options*. Things that could be very useful, like
    scoring of a test set, are not provided in the GUI, but can be
    called from the command line interface. So sometimes it will be
    necessary to switch between GUI and command line. Finally, *the
    data preparation and visualisation techniques offered might not be
    enough*. Most of them are very useful, but I think in most data
    mining tasks you will need more to get to know the data well and
    to get it in the right format.


From a Mahout view, we are very much aiming at addressing the scaling issue. As for the GUI, I think that will always be a "contrib" for Mahout, if one ever exists. My personal goal for Mahout is to keep it lean and easily usable in a wide variety of applications. Just as Lucene has made search a commodity in many ways, I think Mahout could enable ML to be a commodity in 5 years.

Also, a glaring difference between the two is Weka is GPL. I'll leave it to you to read all the discussions on ASL vs. GPL and do not want to start that discussion here, as there is no point.

Last, I imagine we will all coexist nicely. Weka will be useful for many tasks, and Mahout will be useful for many tasks and there will certainly be overlap.

Reply via email to