Open source Matlab工具箱的开源(或其他)版本

Open source Matlab工具箱的开源(或其他)版本,open-source,matlab,Open Source,Matlab,我在大学的一门课程中有一个项目,需要各种Matlab函数。我的Matlab版本由我的工作场所提供,它没有项目所需的一些工具箱。在任何地方都有这样的实现的存储库吗?我在谷歌搜索时找不到任何相关信息 虽然我的问题是一般性的,但我列出了我需要的和找不到的函数,因为我的问题也很具体: knncodel-K-最近邻的一种实现 svmclassify-支持向量机的实现 svmtrain-SVM实现的一部分 mapstd-将矩阵标准化,使其平均值为0,标准偏差为1 我正在考虑的另一种选择是在Python

我在大学的一门课程中有一个项目,需要各种Matlab函数。我的Matlab版本由我的工作场所提供,它没有项目所需的一些工具箱。在任何地方都有这样的实现的存储库吗?我在谷歌搜索时找不到任何相关信息

虽然我的问题是一般性的,但我列出了我需要的和找不到的函数,因为我的问题也很具体:

  • knncodel
    -K-最近邻的一种实现
  • svmclassify
    -支持向量机的实现
  • svmtrain
    -SVM实现的一部分
  • mapstd
    -将矩阵标准化,使其平均值为0,标准偏差为1

我正在考虑的另一种选择是在Python中与Numpy和Pylab一起工作。Pylab中是否有与这些Matlab函数等效的工具箱?

您还可以查看哪些工具箱在许多数据驱动领域非常强大,包括


还有一点是开源机器学习软件的目录。

你可能想考虑得到你自己的MATLAB和你需要的工具箱的副本。Mathworks对大学生的定价非常有吸引力

GNU倍频程是免费的Matlab或多或少的工作一样。我不知道工具箱盖得有多好


或者,如果作业需要它们,学校可能会在某个地方的一些实验室机器上安装它们,您可以使用某种Xterm远程登录。询问助教。

我要检查的第一个地方是。MATLAB用户提交的代码超过10000个,您可以找到各种MATLAB工具箱的替代品。以下是一些可能有用的东西:

  • 有一些与KNN搜索相关的高评级提交,以及
对于一个更简单的函数,例如,另一个选择是尝试自己实现一个精简版本。下面是一些复制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);

这显然不会涵盖MAPSTD中的所有选项,但会捕获基本功能。我可以确认上面的代码给出的结果与
mapstd(M)

Octave实际上有一些基本MATLAB(没有工具箱)没有的功能。我不记得具体是哪个函数,但当时我主要是处理统计数据。一个更正:如果SD=0(常量行),你不能除以零!改为使用:
M=bsxfun(@rdivide,bsxfun(@减号,M,rowMeans),rowStds+(rowStds==0))
另一种替代解决方案是:
zscore(M')”
或者更准确地说,
zscore(M')”*ystd+ymean
,以匹配函数调用
mapstd(M,ymean,ystd)
@Amro:很好地掌握了标准偏差。我更正了代码以解释那个案例。我避免使用函数ZSCORE,因为这是在统计工具箱,我想展示一个例子与基本Matlab。如果你要做的机器学习技术的比较,你也可以考虑使用WEKA与MATLAB简单地导出和导入ARFF文件。