mlpack是一个快速、灵活的机器学习库(c++编写),其目的是提供快速便捷的机器学习算法。mlpack将这些算法提供为简单的命令行程序,Python绑定和C ++类,然后可以在c++代码用或者Python中调用他们来完成机器学习的工作。
以下是目前最新版本中存在的方法:
在我的实验中,需要用到集成学习和回归的一些预测方法,由于矩阵的计算在c++中显得不是很方便。所以我使用了mlpack和Armadillo库来方便计算,但是在安装和使用过程中遇到一些问题,所以就记录下来!
以下三个都是mlpack的依赖库,所以必须提前安装。在linux系统中都可以通过命令直接安装。
Armadillo >= 6.500.0
Boost (program_options, math_c99, unit_test_framework, serialization,
spirit)
CMake >= 2.8.5
首先安装Armadillo依赖的库:lapack, blas, boost
sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
sudo apt-get install libboost-dev
接下来 安装Armadillo:
sudo apt-get libarmadillo-dev
之后,安装完成,测试是否完成!以上步骤,都是应该可以直接完成的,需要Cmake和g++提前安装。
创建一个 test.cpp,copy以下代码,用命令进行编译
g++ test.cpp -o test -larmadillo //编译命令
#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
//test.cpp
int main(int argc,char** argv) {
mat A=randu<mat>(4,5);
mat B=randu<mat>(4,5);
cout<<A*trans(B)<<endl;
return 0;
}
一条命令搞定!
apt-get install libboost-math-dev libboost-program-options-dev libboost-random-dev libboost-test-dev libxml2-dev
在mlpack的github上或者官网都可以下载到最新的版本或者你想要的版本!
tar -xzf mlpack-2.0.1.tar.gz //tar解压
cd mlpack-2.0.1 // 进入解压后的目录
unzip mlpack-2.0.1.zip //zip解压
cd mlpack-2.0.1 // 进入解压后的目录
之后,建立build目录,cmake,make即可
mkdir build
cd build
cmake ../
make
sudo make install
到此为止,mlpack基本上就安装成功了,但是如果安装不顺利,就会有很多问题,下面是问题的汇总!
这个问题我遇到很多次了,有的是在Makefile文件内改编译参数可以达到目的,我没试过。我的方法是如果你的方法在其他版本也有,可以更换版本重新编译即可!
我在3.0.1版本中编译遇到mlpakc_kfn总是make失败,所以我回退版本到2.0.2安装,果断成功!
明明已经安装成功了,为什么在测试官网上的例子总是失败呢?
安装成功,但是你并没有将它和C++的编译连接起来,导致你调用不了。这个时候一般加上 -lmlpack -larmadillo 即可,下面给出了一个例子,可以参考下!
g++ testlars.cpp -o testlars -lmlpack -larmadillo
若上面还是解决不了,可以参考github上面的安装步骤及在build目录下输入以下命令:
export LD_LIBRARY_PATH="/usr/local/lib/:$LD_LIBRARY_PATH"
还是不行的话,建议百度或者google!
make 慢起来,那是真慢!!!