Я обучил модель, используя org.apache.spark.mllib.tree.RandomForest с> 100 функциями, поэтому окончательные деревья принятия решений выглядят, например, как это:Как назначить метки для функций на модели RandomForrest в MLLIB/ApacheSpark
> "TreeEnsembleModel classifier with 3 trees
>
> Tree 0:
> If (feature 47 <= 0.0)
> If (feature 74 <= 0.0)
> If (feature 62 <= -94069.0)
> Predict: 0.0
> Else (feature 62 > -94069.0)
> Predict: 0.0
> Else (feature 74 > 0.0)
> Predict: 0.0
> Else (feature 47 > 0.0)
> Predict: 1.0 Tree 1:
> If (feature 83 <= 0.0)
> Predict: 0.0
> Else (feature 83 > 0.0)
> Predict: 1.0 Tree 2:
> If (feature 81 <= 0.0)
> Predict: 0.0
> Else (feature 81 > 0.0)
> If (feature 74 <= 0.0)
> If (feature 52 <= 19.0)
> Predict: 1.0
> Else (feature 52 > 19.0)
> Predict: 0.0
> Else (feature 74 > 0.0)
> Predict: 1.0 "
Эти данные считываются из CSV файла conaining заголовки, которые я сохраненная прочь перед обработкой:
val headerAndRows = rdd.map(line => line.split(",").map(_.trim))
val header = headerAndRows.first
Eg Я не хочу видеть «If (функция 47 < = 0.0)», но «If (bloodSugarLevel < = 0.0)»
Любая идея, как это может быть достигнуто (без меня изменяет исходный код org.apache. spark.mllib.tree.RandomForest :)
Спасибо большое!