当前位置:  软件>C/C++软件

C++ 的机器学习库 MLPACK

    来源:    发布时间:2015-01-31

    本文导语:  mlpack是一个C++的机器学习库,它重点在于其扩展性、高速性和易用性。它的目的是让新用户通过简单、一致的API使用机器学习,同时为专业用户提供C++的高性能和最大灵活性。他的性能超出大量类似的机器学习库,如WEKA、Shogun...

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。

示例代码:

#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);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 域内共享的问题?Linux机器可以访问Window机器,但是Window机器不能访问Linux机器?
  • redhat es4 我设置了机器名以后,从本机可以ping ,从别的机器ping ip可以,ping 机器名不行。
  • SUSE10下,如何使用perl语言执行一条语句:从一台机器telnet到远端另一台机器,在远端机器上执行命令,并能获取到执行结果。请高手指点,Very 谢谢~
  • 请问:有没有什么工具/方法能在同一台机器上两个操作系统之间来回的切换,不用重起机器的情况下!!!! 如从win2000上切换到同一台机器上的li
  • 32位机器上编的程序能在64位机器上跑吗?
  • linux下有没有可能将一个机器的软件环境拷贝到其他机器?
  • 局域网共享问题:win2000的机器看不到linux机器的共享目录?
  • 如何在一台linux机器上访问另一台windows机器下的目录
  • 如何得到一个网段内所有机器的IP,机器是liunx系统?
  • 如何在一台机器上的shell中执行另外一台机器上的shell
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • windows机器和linux机器互联
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • 如何从一台LINUX机器访问另一台LINUX机器的共享文件夹??
  • telnet 一台机器上,我如何看 这台机器得ip地址?
  • 电脑安装window可以ping通其他的机器,但是安装linux不能ping通其他机器怎么回事!
  • Linux下局域网内如何根据对方机器的IP地址获得对方机器网卡的MAC地址?
  • 为什么在我机器上写的程序,放在别人机器上编译有问题啊?
  • 请教在redhat或turbolinux下如何将机器做成一个网关为局域网机器提供INTERNET接入
  • 一台机器上编译的程序为什么不能在另一台机器上运行?急!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3