2015-12-18 49 views
2

这将是很好的获得一些关于调整Apache Spark随机森林分类的​​提示。
目前,我们有一个模型,看起来像:Apache Spark随机森林缓慢的表现

  • featureSubsetStrategy所有
  • 杂质基尼
  • maxBins 32
  • MAXDEPTH 11
  • numberOfClasses 2
  • numberOfTrees 100

我们是ru nning Spark 1.5.1作为独立群集。

  • 1 Master和2 Worker节点。
  • 每个有4个内核的节点的RAM容量为32GB。
  • 分类需要440ms。

当我们将树数增加到500时,它已经用了8秒。 我们试图减少深度,但错误率更高。我们有大约246个属性。

也许我们做错了什么。任何想法,我们可以提高性能?

+0

我不熟悉Spark,但也许这是一些与内存相关的问题(例如交换)?因为看起来你的运行时间非线性增加。 –

+0

这只是预测缓慢,还是训练?你只是想预测一个或多个例子? –

+0

预测非常缓慢,这是主要问题。在训练之前也很慢,但在删除分类特征后速度增加了。 –

回答

0

增加决策树的数量肯定会增加预测时间,因为问题实例必须遍历所有树。但减少它对预测准确性没有好处。你必须改变这个参数(决策树的数量)并找到一个最佳值。这就是为什么它被称为超参数。 Hyper参数高度依赖于数据和属性的性质。您可能还需要逐个更改其他超参数,并实现全局最优。

此外,当你说预测时间,你是否也包括加载模型的时间!如果是这样,我猜测模型时间不应该被考虑预测时间。这只是加载模型和准备预测应用程序的开销。