MLPACK C++ 的机器学习库

程序名称:MLPACK

授权协议: LGPL

操作系统: Linux

开发语言: C/C++

MLPACK 介绍

mlpack是一个C的机器学习库,它重点在于其扩展性、高速性和易用性。它的目的是让新用户通过简单、一致的API使用机器学习,同时为专业用户提供C的高性能和最大灵活性。他的性能超出大量类似的机器学习库,如WEKA、Shogun、MATLAB、mlpy及sklearn,这一对比工作可以参考文献[1]。

mlpack含有丰富的文档和教程,可以参考项目主页。教程中包含的算法有:近邻搜索(NeighborSearch)、范围搜索(RangeSearch)、线性回归(LinearRegression)、欧几里德最小生成树(The
Euclidean Minimum Spanning Tree)、K-均值(K-Means)、FastMKS(Fast max-kernel
search)等。

mlpack提供了大量的类或API供程序调用,同时还提供了很多可执行程序供不懂C++的用户使用。这些可执行文件包括:allkfn, allknn,
emst, gmm, hmm_train, hmm_loglik, hmm_viterbi, hmm_generate, kernel_pca,
kmeans, lars, linear_regression, local_coordinate_coding, mvu, nbc, nca, pca,
radical, sparse_coding。

示例代码:

#include<mlpack/methods/range_search/range_search.hpp>using namespace mlpack::range;

// Our dataset matrix, which is column-major.
extern arma::mat dataset;

// The 'true' option indicates that we will use naive calculation.
RangeSearch<> a(dataset, true);

// The vector-of-vector objects we will store output in.
std::vector> resultingNeighbors;
std::vector> resultingDistances;

// The range we will use.  The upper bound is DBL_MAX.
math::Range r(5.0, DBL_MAX); // [5.0, inf).

a.Search(r, resultingNeighbors, resultingDistances);

MLPACK 官网

http://mlpack.org/

相关编程语言

欧盟第7框架计划(FP7)的LarKC项目的目标是开发大规模...
Salad 是一种有效且灵活的实现著名的异常检测方法回...
multilanguage 是一个多语开发工具包,用于缓存多语...
go-cortex 是一个服务,通过倾听你的句子,并视图理...
DKPro Core 是基于 Apache UIMA 框架之上的自然语言...
NLTK 会被自然地看作是具有栈结构的一系列层,这些层...