2015-08-12 2 views
0

Я пытаюсь обучить модель с DecisionTree в Spark с помощью Scala.Как увеличить maxMemoryinMB для DecisionTree

Мой код выглядит следующим образом:

val numClasses = 19413 
val categoricalFeaturesInfo = Map[Int, Int](5 -> 14) 
val impurity = "gini" 
val maxDepth = 5 
val maxBins = 23000 

val model = DecisionTree.trainClassifier(trainData, numClasses, categoricalFeaturesInfo, impurity, maxDepth, maxBins) 

Однако, когда я бегу, я получаю IllegalArgumentException говорит мне мой минимум maxMemoryinMB должен быть 8275. Я попытался, глядя, как увеличить это число, но не нашли любые результаты. Любая помощь будет принята с благодарностью!

С наилучшими пожеланиями

ответ

0

Если вы используете Спарк 1.3.1, как я, это код может помочь вам:

val strategy = new Strategy(Algo.Classification, Gini , maxDepth1, 
          numClasses1, maxBins = maxBins1, 
          categoricalFeaturesInfo = categoricalFeaturesInfo1, 
          maxMemoryInMB = 512) 

val model1 = DecisionTree.train(trainingData, strategy) 
0

Имея тот же вопрос с искрой 1.6.2, решение заключается в использовании Стратегия:

 import org.apache.spark.mllib.tree.configuration.Strategy   
     val s = Strategy.defaultStrategy("Classification") 
     s.setMaxMemoryInMB(756) 
     ... /* other settings */ 
     val model = DecisionTree.train(
     trainingVector,s) 
Смежные вопросы