[转]11个著名的开源机器学习工具

Open source machine learning software makes it easier to implement machine learning solutions on single computers and at scale, and the diversity of packages provide more options for implementers.

Accord Framework/AForge.net

Accord, a machine learning and signal processing framework for .Net, is an extension of a previous project in the same vein,AForge.net. A set of algorithms for vision processing are included; it operates on image streams (such as video) and can be used to implement such functions as the tracking of moving objects. Accord also includes libraries that provide a more conventional gamut of machine learning functions, from neural networks to decision-tree systems.

Github:github.com/accord-net/framework/

Cloudera Oryx

Yet another machine learning project designed for Hadoop, Oryx comes courtesy of the creators of the Cloudera Hadoop distribution. The name on the label isn’t the only detail that sets Oryx apart: Per Cloudera’s emphasis on analyzing live streaming data by way of the Spark project, Oryx is designed to allow machine learning models to be deployed on real-time streamed data, enabling projects like real-time spam filters or recommendation engines.

Github:github.com/cloudera/oryx

ConvNetJS

As the name implies, ConvNetJS provides neural network machine learning libraries for use in JavaScript, facilitating use of the browser as a data workbench. An NPM version is also available for those using Node.js.

Github:github.com/karpathy/convnetjs

CUDA-Convnet

By now most everyone knows how GPUs can crunch certain problems faster than CPUs. But applications don’t automatically take advantage of GPU acceleration; they have to be specifically written to do so. CUDA-Convnet is a machine learning library for neural-network applications, written in C++ to exploit the Nvidia’s CUDA GPU processing technology (CUDA boards of at least the Fermi generation are required).

GoLearn

Google’s Go language has been in the wild for only five years, but has started to enjoy wider use, due to a growing collection of libraries. GoLearn was created to address the lack of an all-in-one machine learning library for Go; the goal is “simplicity paired with customizability,” according to developer Stephen Witworth.

Github:github.com/sjwhitworth/golearn

H2O

0xdata’s H2O's algorithms are geared for business processes -- fraud or trend predictions, for instance -- rather than, say, image analysis. H2O can interact in a stand-alone fashion with HDFS stores, on top of YARN, in MapReduce, or directly in an Amazon EC2 instance.

Github:github.com/h2oai/h2o

Mahout

The Mahout framework has long been tied to Hadoop, but many of the algorithms under its umbrella can also run as-is outside Hadoop. They're useful for stand-alone applications that might eventually be migrated into Hadoop or for Hadoop projects that could be spun off into their own stand-alone applications.

MLlib

Apache’s own machine learning library for Spark and Hadoop, MLlib boasts a gamut of common algorithms and useful data types, designed to run at speed and scale. As you’d expect with any Hadoop project, Java is the primary language for working in MLlib, but Python users can connect MLlib with the NumPy library (also used in scikit-learn), and Scala users can write code against MLlib.

Scikit-learn

Python has become a go-to programming language for math, science, and statistics due to its ease of adoption and the breadth of libraries available for nearly any application. Scikit-learn leverages this breadth by building on top of several existing Python packages -- NumPy, SciPy, and matplotlib -- for math and science work. The resulting libraries can be used either for interactive “workbench” applications or be embedded into other software and reused.

GitHub:github.com/scikit-learn/scikit-learn

Shogun

Among the oldest, most venerable of machine learning libraries, Shogun was created in 1999 and written in C++, but isn’t limited to working in C++. Thanks to the SWIG library, Shogun can be used transparently in such languages and environments: as Java, Python, C#, Ruby, R, Lua, Octave, and Matlab.

Github:github.com/shogun-toolbox/shogun

Weka

Weka, a product of the University of Waikato, New Zealand, collects a set of Java machine learning algorithms engineered specifically for data mining. This GNU GPLv3-licensed collection has a package system to extend its functionality, with both official and unofficial packages available.

Original:http://www.networkworld.com/article/2855100/opensource-subnet/11-open-source-tools-machine-learning.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一,概念 1,数字证书的概念 数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网...
    黄晓星阅读 10,119评论 0 0
  • 这是我欲封天中的一个桥段,令我印象很深,摘录出来,以示敬仰。 时光流逝,出生时祥瑞齐开的陈雷早已成长到了少年,虽然...
    三页薄纸阅读 3,064评论 1 0
  • 今日运动: 2992步,30个仰卧起坐。未完成目标。明天4000步补上。 今日嘉许 一家去送小倍,很享受彼此在一起...
    阿点的亲子芳疗会客厅阅读 1,337评论 0 0
  • 人生在世,总会遇到困难,这是每个人生命中都会遇到的。每个人对于困难的态度不同,解决困难的方法也不同。有的人很彷徨,...
    安瑗Annie阅读 3,349评论 2 4

友情链接更多精彩内容