子曰:工欲善其事,必先利其器也。在机器学习领域有很多功能强大的开源库,如果能掌握这些库,必将使你如虎添翼。今天介绍的这一款机器学习的开源库是:Shark Machine Learning Library 2.3.4版 

Shark Machine Learning Library 的主页链接是:http://shark-project.sourceforge.net/ ,shark是由德国波鸿大学开发的,曾获得2011年世界开源大赛金奖。shark基于C++的泛型编程,里面大量使用了模板,因此封装性和继承性极佳。由于是基于C++的,所以函数的效率还是不错的。

shark的库主要分为4部分

  1.  ReClaM     回归与分类模块 涵盖了线性方法、神经网络、SVM、Kernel 等
  2.  EALib      进化计算模块
  3.  MOO-EAlib  多目标的进化计算
  4.  Fuzzy      模糊计算模块

OK, 开始吧,下面进入安装过程。shark的函数库可以安装在 Microsoft,Linux,Mac 的操作系统上,本文介绍其在 Microsoft Windows 上的安装过程。值得注意的是,在下载的shark包路径 Shark/doc/TutorialsOld/ 下面有一个在各种平台下的安装说明,但是比较老,我亲自试过好几次,也许是俺太笨了,没有成功。

第一步,准备安装软件,产生编译文件。跨平台编译工具 Cmake v2.8 ,Mircosoft Visual Stdio 2005 或更高版本。我的shark 包的路径在 D:/shark ,cmake的设置如下

 点击configure 按钮,选择我们需要的编译器 VS2005,然后再点击 Generate。完成后显示如下

这时候去看看 D:/build_shark 路径下,cmake 已经为我们生成了 VS2005 需要的编译文件了

第二步,使用 VS2005 编译连接,得到我们需要的 shark.lib 静态链接库。

双击 build_shark 文件夹下面的 shark.sln, 把工程导入到 vs2005 编译环境下。

这里大家就可以看到 shark 自带的所有实例工程和shark.lib的工程了,可以选择工具栏的 “生成”—>“重新生成解决方案”,这时候vs2005就会为我们生成所有的实例程序,由于实例比较多,整个过程可能持续数分钟,出去喝杯茶吧,保持耐心哦。当然,我是为了演示一下实例程序,所以选择重新生成了,你可以根据自己的需要选择特定的工程,比如,你打开shark.vcproj,就会生成shark.lib。

这里再称赞一下德国人的严谨精神,70个工程,作为一个开源库居然没有错误一次编译成功,做工精细啊。

OK,编译完成后,看看 build_shark 文件夹下面多出来了好几个文件件,其中examples 下面就是所有的实例程序,当然还没有debug呢,需要哪个的话,自己去搞吧,关键是注意 debug 文件夹,下面终于见到我们需要的东西了:shark.lib

 这篇就到此为止吧,超字数了。下一篇我讲一下如何把我们得到的shark.lib 导入到自己的工程里面,运行一个实例。