MLPACK是一个C++的机器学习库,它重点在于其扩展性、高速性和易用性。它的目的是让新用户通过简单、一致的API使用机器学习,同时为专业用户提供C++的高性能和最大灵活性。他的性能超出大量类似的机器学习库,如Weka、Shogun、MATLAB、mlpy及sklearn]。
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。
示例代码:
#includeusing 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);
发布于 2016-01-15 00:25:56 | 131 次阅读