Open Source Versions (or Otherwise) of Matlab Toolkits

I have a project in a university course that requires various Matlab features. My version of Matlab comes at my workplace, and it does not have some of the toolkits needed for the project. Is there any repository of such implementations anywhere? I could not find anything suitable when I googled.

As long as my question is general, I list the functions that I need and which they cannot find, since my question is also specific:

  • knnclassify - implementation of K-nearest neighbors
  • svmclassify - implementation of vector support machines
  • svmtrain - part of the SVM implementation
  • mapstd - normalizes the matrix to have an average value of 0 and a standard deviation of 1

The alternative I'm considering working in Python with Numpy and Pylab. Are there toolbars in Pylab equivalent to these Matlab features?

+4
source share
3 answers

The first thing I would like to check out is MathWorks File Exchange . There are over 10,000 code views from MATLAB users, and you can find alternatives to the various MATLAB toolkits. Something might be useful here:

Another alternative for a simpler function, such as MAPSTD , is to try to implement the stripped-down version yourself. Here is an example of code that replicates the main behavior of MAPSTD:

 M = magic(5); %# Create an example matrix rowMeans = mean(M,2); %# Compute the row means rowStds = std(M,0,2); %# Compute the row standard deviations rowStds(rowStds == 0) = 1; %# Set standard deviations of 0 to 1 for i = 1:size(M,1) M(i,:) = (M(i,:)-rowMeans(i))./rowStds(i); %# Normalize each row of M end %# Or you could avoid the for loop with a vectorized solution... M = bsxfun(@rdivide,bsxfun(@minus,M,rowMeans),rowStds); 

This, obviously, will not cover all the options in MAPSTD, but it captures the main functions. I can confirm that the above code gives the same result as mapstd(M) .

+3
source

You might want to consider getting your own copies of Matlab and the toolboxes you need. Mathworks has a VERY attractive price for university students.

GNU Octave is a free Matlab more or less working. I don't know how well the toolbars are covered.

Alternatively, if the assignment needs them, the school probably has them on some lab machines somewhere, and you MAY be able to log in remotely using some kind of Xterm. Ask for TA.

+3
source

You can also see R , which is very powerful in many data-driven fields, including Machine Learning .

Also check out the MLOSS catalog of open source training software.

+2
source

All Articles