MLPACK C++ 的机器学习库开源项目

我要开发同款
匿名用户2013年08月26日
108阅读
开发技术C/C++
所属分类人工智能、机器学习/深度学习
授权协议BSD

作品详情

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

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

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);
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论