3

我正在做一个关于随机森林算法的研究项目。我发现了该算法的许多实现,但代码的主要部分通常是用 Fortran 编写的,而我完全不了解它。

我必须编辑代码,更改主要参数(如树深度、特征变量的数量……)并在每次运行期间跟踪算法的性能。

目前我正在使用“ Windows-Precompiled-RF_MexStandalone-v0.02- ”。train 和 predict 函数是 matlab mex 文件,不能打开或编辑。任何人都可以给我一条关于该做什么的建议,或者是否有一个有效且完全基于 matlab 的随机森林版本。


我已经仔细阅读了 randomforest-matlab。不幸的是,主要的培训部分是一个 dll 文件。通过阅读更多,我的大部分奇迹现在都解决了。我的问题主要是如何同时运行几棵树。

4

4 回答 4

5

你看过这些库吗?

于 2011-09-17T00:58:56.440 回答
2

如果你正在做一个研究项目,最好的办法可能是自己用 C 实现单个树训练,然后编写 Mex 包装器。我会从一个 ID3 树开始(例如在尝试 C4.5 之前)。然后编写随机森林代码本身,一旦你编写了树代码,这并不难。

你会:

  1. 学到很多
  2. 能够随心所欲地修改它们
  3. 最终与他们一起探索新领域

我自己从头开始实现了它们,因此一旦您发布了一些自己的代码,我可以提供帮助。但我不认为这个网站上的任何人会为你编写代码。

会不会费力?是的。你会比以前拥有更多的知识和能力吗?毫无疑问。

于 2011-05-29T04:11:41.137 回答
1

R 中有一个不错的库,叫做 randomForest。它基于 Fortran 中 Breiman 的原始实现,但现在主要用 C 重新编码。

http://cran.r-project.org/web/packages/randomForest/index.html

您谈论的主要参数(树深度,要测试的功能数量,...)是直接可用的。

于 2012-09-07T12:32:27.003 回答
0

我推荐的另一个库是 Weka。它是基于 java 和 lucid。虽然与 R 相比,性能略有下降。源代码可以从http://www.cs.waikato.ac.nz/ml/weka/下载

于 2013-04-25T21:24:16.223 回答