今天给大家介绍一下经典的开源机器学习软件:
编程语言:搞实验个人认为当然matlab最灵活了(但是正版很贵),但是更为前途的是python(numpy+scipy+matplotlib)和C/C++,这样组合既可搞研究,也可搞商业开发,易用性不比matlab差,功能组合更为强大,个人认为,当然R和java也不错.
1.机器学习开源软件网(收录了各种机器学习的各种编程语言学术与商业的开源软件)
2 偶尔找到的机器学习资源网:(也非常全,1和2基本收录了所有ML的经典开源软件了)
http://www.dmoz.org/Computers/Artificial_Intelligence/Machine_Learning/Software/
3 libsvm (支持向量机界最牛的,不用多说了,台湾大学的林教授的杰作)
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
4 WEKA (基于java的机器学习算法最全面最易用的开源软件)
http://www.cs.waikato.ac.nz/ml/weka/
5 scikit (本人最喜欢的一个基于python的机器学习软件,代码写得非常好,而且官方的文档非常全,所有都有例子,算法也齐全,开发也活跃
,强烈推荐给大家用)
http://scikit-learn.org/stable/
6 OpenCv(最牛的开源计算机视觉库了,前途无可限量,做图像处理与模式识别的一定要用,总不能整天抱着matlab做实验和工业界脱节吧,但是有一定难度)
http://opencv.willowgarage.com/wiki/
7 Orange (基于c++和python接口的机器学习软件,界面漂亮,调用方便,可以同时学习C++和python,还有可视化的功能,)
8 Mallet (基于JAVA实现的机器学习库,主要用于自然语言处理方面,特色是马尔可夫模型和随机域做得好,可和WEKA互补)
9 NLTK(PYTHON的自然处理开源库,非常易用,也强大,还有几本orelly的经典教程)
10 lucene(基于java的包括nutch,solr,hadoop,mahout等全套,是做信息检索和搜索引擎的同志们必学的开源软件了,学JAVA的必学)
Additional:
1.pyml(a python module for machine learning,支持svm/knn/k-means==)
2.mahout(阿帕奇基金下项目,其主要是可以与hadoop进行天然结合,从而并行运行,在鲁棒性方面很好)
3.milk(python的机器学习工具包,主要是针对监督学习,包括svm/knn/决策树)
http://pypi.python.org/pypi/milk/
4.Octave(Andrew NG课上推荐使用的,类似matlab)