My blog has moved! Redirecting...

You should be automatically redirected. If not, visit http://www.dataminingblog.com and update your bookmarks.

Data Mining Research - dataminingblog.com: Matlab

I'm a Data Miner Collection (T-shirts, Mugs & Mousepads)

All benefits are given to a charity association.
Showing posts with label Matlab. Show all posts
Showing posts with label Matlab. Show all posts

Sunday, July 22, 2007

Why is Matlab the best language for data mining? (cont'd)

In the previous post, I was arguing that Matlab is an excellent programming language (and environment) for data mining. However, as you know, no programming language is perfect. Matlab also has its drawbacks. Here are a few of them.

First, Matlab is an interpreted language. Which means no compilation. The good thing is the on the fly programming-executing aspect. On the other side, there is no declaration or type checking. This is normal since Matlab is not by definition a typed language. Or if you prefer, every element is a matrix. For example, the number 3 is stored as a 1x1 matrix containing the number 3. As there is no type checking, if you put by mistake '3' as a string in your matrix, you will have no error and no warning.

Again, as there is no declaration, this situation can happen in Matlab:

myvariable = 0;
...
myVariable = 10*i;
...
disp(myvariable)

Indeed, since no declaration is needed, mistyping errors are dangerous in Matlab.

Another issue in Matlab is its execution time which is quite high in comparison to C++ or even Java. Of course one solution is to use the MEX interface with which you can directly call C/C++ code. However, the communication between Matlab and the C code takes time and it is generally slower then a direct C/C++ code.

Even with these limitations, I'm personally convinced that Matlab is a very powerful tool for data miners. The main reason is that you spend less time on the programming part and more on the problem your try to solve. If you think Matlab has other important drawbacks or on the contrary, if you think that the ones I mentioned are not really drawbacks, feel free to comment.

Note: Data Mining Research is on holidays until August, 2nd.

Continue reading... Sphere: Related Content

Friday, July 13, 2007

Why is Matlab the best language for data mining?

While starting a new project a few days ago, I had to answer the recurrent question: What language do I choose? In research, we have the opportunity of choosing any language, free or not. This is usually not the case in industry where the language can be fixed for many reasons (price, customer choice, boss choice, same as existing system, etc.).

I basically had to choose between Java and Matlab (C++ was soon deleted from my list since I don't like to spend time on pointers and manually free up the memory, but this is very personal). Of course a lot of others are available, but I feel more confident with these two. As most of my work was done with Matlab, I decided to start with Java. Contradictory? Not at all, I just wanted to know how easy it was to use Java for raw data mining tasks (i.e. without using JDM framework or such).

When doing data mining, a large part of the work is to manipulate data. Indeed, the part of coding the algorithm can be quite short since Matlab has a lot of toolboxes for data mining. And when manipulating data, Matlab is definitely better. It is normal since it is done to work with matrices (MATrix LABoratory). Thus, deleting a row, a column, transposing a matrix, calculating the determinant... all these can be done in one line of code. To my knowledge, this is not the case with Java, but if you know some way, feel free to comment.

For more information about using Matlab for data mining, the best place is Will's blog. In the next post, I will write about the other side of the coin and explain some of Matlab's drawbacks.

Continue reading... Sphere: Related Content

Thursday, December 21, 2006

Data mining in MATLAB

After reading some interesting posts on Will Dwinnell blog Data mining in MATLAB, I realized that I haven't formally mentioned this blog on Data Mining Research (shame on me). However, I'm sure a lot of readers know him since he is very active here (I thank him by the way). The aim of this post is to remedy to that. Data mining in MATLAB is the only blog I know, that is exclusively dealing with Matlab for data mining. Example of post topics are Mahalanobis distance, Fuzzy logic, rand and randn, Matlab code resources, etc. Most of the posts deal with particular aspects of data mining and how they can be handled by Matlab. If, like me, you're a Matlab enthusiast for data mining, then this blog is a gold mine!

Continue reading... Sphere: Related Content

Monday, October 23, 2006

Java data mining

Are you interested in data mining? Yes... you are reading this blog. Do you use to program in Java? If yes, then the book Java Data Mining can interest you. It is briefly described by KDnuggets. To my point of view, Java is perhaps not the best language to use for data mining. Either you are in the industry and need a fast running application; then you will certainly use C++ or .NET. Or you are doing research and you need more interactivity and simplicity while coding; then you will probably use MATLAB for example. Java is neither as fast as C++, nor as easy to use as MATLAB. Perhaps this book will tell you why to use Java for data mining. By the way, a good book on data mining (with Java examples) is Data Mining: Practical Machine Learning Tools and Techniques.

Continue reading... Sphere: Related Content
 
Clicky Web Analytics