巫峡专栏

life is a huge undertaking

生活也是大事业

God helps those who help themselves

爱生活

爱技术

导航

机器学习之开源库大总结

  研究数据挖掘和机器学习有一段时间了,对数据挖掘来说,商用软件有SAS、Clementine、Oracle数据挖掘组件等等;由于个人学习和版权、算法定制等问题,开源的数据挖掘与机器学习软件(库)目前也十分必需,现在就跟大家介绍下比较流行和常用的机器学习开源库。

  以前在学校用过matlab,说实话真方便,通常一个模型只要几十行甚至十几行代码就能搞定,但是正版matlab较贵,而且不太适合商业开发使用,所以工业界使用它的并不多(通信行业、研究所比较普遍);相应地,在工业界机器学习和数据挖掘的实验语言多为java、python,因为python与C\C++具有先天的血缘,所以python更容易扩展;java的机器学习库也十分流行,主要体现在大数据下的jvm的本质和算法并行化的优势;现推荐给大家以下学习库:

 

1.机器学习开源软件网(收录了各种机器学习的各种编程语言学术与商业的开源软件)

http://mloss.org

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的机器学习软件,代码写得非常好,而且官方的文档非常全,所有都有例子,算法也齐全,开发也活跃
,强烈推荐给大家用)

https://pypi.python.org/pypi/scikit-learn/

6 OpenCv(最牛的开源计算机视觉库了,前途无可限量,做图像处理与模式识别的一定要用,总不能整天抱着matlab做实验和工业界脱节吧,但是有一定难度)

http://opencv.willowgarage.com/wiki/

7 Orange (基于c++和python接口的机器学习软件,界面漂亮,调用方便,可以同时学习C++和python,还有可视化的功能,)

http://orange.biolab.si/

8 Mallet (基于JAVA实现的机器学习库,主要用于自然语言处理方面,特色是马尔可夫模型和随机域做得好,可和WEKA互补)

http://mallet.cs.umass.edu/

9 NLTK(PYTHON的自然处理开源库,非常易用,也强大,还有几本orelly的经典教程)

http://nltk.org/

10 lucene(基于java的包括nutch,solr,hadoop,mahout等全套,是做信息检索和搜索引擎的同志们必学的开源软件了,学JAVA的必学)

http://lucene.apache.org/

Additional:

1.pyml(a python module for machine learning,支持svm/knn/k-means==)

http://mlpy.sourceforge.net/

2.mahout(阿帕奇基金下项目,其主要是可以与hadoop进行天然结合,从而并行运行,在鲁棒性方面很好)

http://mahout.apache.org/

3.milk(python的机器学习工具包,主要是针对监督学习,包括svm/knn/决策树)

http://pypi.python.org/pypi/milk/

4.Octave(Andrew NG课上推荐使用的,类似matlab)

http://www.gnu.org/software/octave/

posted on 2013-03-27 21:07  巫峡  阅读(5618)  评论(7编辑  收藏  举报