知识点

相关文章

更多

最近更新

更多

机器学习之开源库大总结

2019-03-27 01:20|来源: 网路

机器学习之开源库大总结

  研究数据挖掘和机器学习有一段时间了,对数据挖掘来说,商用软件有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/


转自:http://my.oschina.net/wxcchd/blog/140112

相关问答

更多
  • python 机器学习[2022-09-10]

    numpy是科学计算用的。主要是那个array,比较节约内存,而且矩阵运算方便。成为python科学计算的利器。 matplotlib是用于可视化的。只先学会XY的散点图,再加一个柱状图就可以了。其它的都可以暂时不学。几句话就成了。不用找本书。找个例子代码看完就会了。 这两个只是计算用的。与机器学习有点儿关联。但还不是机器学习。 机器学习算法你可以使用R project,那个函数库更多些。 你要肯下功夫啃代码,最慢1小时就能掌握 numpy和matplotlib。如果你觉着难,总是想绕圈圈,想容易些,就很难 ...
  • 千锋的python教学视频不错。
  • 科学计算:matplotlib、numpy、scipy web框架:flask、django GUI:PyQt、WxPython 网络爬虫:Scrapy HTML解析:BeautifulSoup、lxml
  • 什么是机器学习[2022-04-13]

    机器学习通过从数据里提取规则或模式来把数据转换成信息。主要的方法有归纳学习法和分析学习法。数据首先被预处理,形成特征,然后根据特征创建某种模型。机器学习算法分析收集到的数据,分配权重、阈值和其他参数达到学习目的。如果只想把数据分成不同的类,那么“聚类”算法就够了;如果需要预测,则需要一个“分类”算法。OpenCV库里面包含的是基于概率统计的机器学习方法,贝叶斯网络、马尔科夫随机场、图模型等较新的算法还在成长过程中,所以OpenCV还没有收录。 机器学习的算法有很多很多:1、Mahalanobis 2、K-m ...
  • 人工智能和机器学习本来就是你中有我 我中有你 如果实在要分就是 属于机器学习
  • 机器学习很简单,就是使机器具有人的学习能力,人的思考能力,人的认知能力,至于判断机器学习的方法,有注明的图灵机测试。 机器学习是一门热门的学科,究其原因是为了服务人类的。 目前的机器学习其实是有着其“瓶颈”所在,比如,机器人学习新生事物时候,数据其实是人为指定的,而非自己去思考,也即,现在的机器学习是人为灌输思想的被动学习,而真正想让机器主动学习,具有人的思维方式,还有待研究。
  • 除了写代码实现里面提到的算法外,对相关公式的推导也要有所了解。我没看过这个视频,但我看的有关机器学习的书里面更侧重的是理论吧。代码谁都可以编写,但这些理论并不是每个人都能搞清楚的;而且理论都弄得一清二楚绝对可以写出来代码,但只会编码却不一定能够搞清楚为什么要这么做。
  • 修改Makefile的命令是 vi Makefile 或者 vim Makefile 不过我估计你不会用vi或vim。那样的话回图形界面找到名为Makefile的文件直接编辑。 查找ld替换为arm-linux-ld 查找ar替换为arm-linux-ar 然后保存退出
  • 什么是机器学习? 基本上,它是一种教授计算机的方法,用于根据一些数据来制作和改进预测或行为。 这个“数据”是什么? 那么这完全取决于问题。 它可以是机器人的传感器读取,因为它学习走路,或者某个输入的程序的正确输出。 思考机器学习的另一种方法是,它是“模式识别” - 教学程序来反应或识别模式的行为。 机器学习代码做什么? 取决于您正在谈论的机器学习类型 。 机器学习是一个巨大的领域,拥有数百种不同的算法来解决无数的不同问题 - 有关更多信息,请参阅维基百科 。 具体来说,查看算法类型 。 当我们说机器学习时, ...
  • 在代码项目中有一个称为AForge.net的神经网络库。 (代码托管在Google代码 )(另请参阅AForge主页 - 根据主页,新版本现在支持遗传算法和机器学习,看起来自从上次播放以来,进展很多) 我不知道这是WEKA,因为我从来没有使用过。 (还有一篇关于它的用法的文章) Check out this awesome list on GitHub. Of the frameworks listed, Accord.NET is open-source and the most popular with ...