Воспитал RandomForest как это (Спарк 1.6.0)Спарк RandomForest классификатор numClasses
val numClasses = 4 // 0-2
val categoricalFeaturesInfo = Map[Int, Int]()
val numTrees = 9
val featureSubsetStrategy = "auto" // Let the algorithm choose.
val impurity = "gini"
val maxDepth = 6
val maxBins = 32
val model = RandomForest.trainClassifier(trainRDD, numClasses,
categoricalFeaturesInfo, numTrees,
featureSubsetStrategy, impurity,
maxDepth, maxBins)
ввода меток:
labels = labeledRDD.map(lambda lp: lp.label).distinct().collect()
for label in sorted(labels):
print label
0.0
1.0
2.0
Но выход содержат только только два класса:
metrics = MulticlassMetrics(labelsAndPredictions)
df_confusion = metrics.confusionMatrix()
display_cm(df_confusion)
Выход:
83017.0 81.0 0.0
8703.0 2609.0 0.0
10232.0 255.0 0.0
Выход из когда я загружаю ту же модель в pyspark и запустить его с другими данными (части выше)
DenseMatrix([[ 1.75280000e+04, 3.26000000e+02],
[ 3.00000000e+00, 1.27400000e+03]])
Это PyScala? – eliasah
Я не могу воспроизвести это или, по крайней мере, нет ничего плохого в матрице замешательства, которую я получаю. И у вас на самом деле есть 3 класса :) – zero323
@ zero323 я сохранил его и загрузил его между ними. возможно, это. Можете ли вы опубликовать свое воспроизведение? – oluies