2014-12-04 3 views
0

Мы используем Spark 1.0 или 1.1 для дерева решений с использованием MLlib.Поиск значения значения из дерева решений Spark с использованием MLlib

Когда я запускаю образец кода SCALA с образцами данных, он работал без ошибок, но я не смог найти значение функции из результата.

У кого-нибудь есть такая информация о том, как получить значения?

+1

Пожалуйста, напишите, что вы пробовали, и ваши результаты. Мы не телепатичны. –

ответ

1

Когда вы тренируетесь DecisionTreeModel в конце у вас есть этот класс

class DecisionTreeModel(val topNode: Node, val algo: Algo) { 
    ... 
} 

Вы можете начать обход узлов из верхней части, и вы можете получить все, что вам нужно от него (предсказать + InformationGainStats)

class Node (
    val id: Int, 
    val predict: Double, 
    val isLeaf: Boolean, 
    val split: Option[Split], 
    var leftNode: Option[Node], 
    var rightNode: Option[Node], 
    val stats: Option[InformationGainStats]) 
2

В Spark 2+ вы можете сделать следующее:

val vectorAssembler = new VectorAssembler().setInputCols(featureArray) 
val decisionTreeModel = decisionTree.fit(trainingDataset) 
val featureImportances = decisionTreeModel.featureImportances // Sparse or Dense Vector 

featureArray.zip(featureImportances.toArray).sortBy(_._2).reverse 
Смежные вопросы