2016-07-26 6 views
1

Frage Kann klingen sehr offensichtlich, aber ich habe viele Suche nach der Antwort zu tun, aber nicht in der Lage, vollständige Beweislösung zu bekommen.Spark ML Naive Bayes Klassenwert zu Wahrscheinlichkeit Index Mapping

Ich benutze Spark ML-Paket und nach dem Ausführen Naive Bayes bekommen richtige Ergebnisse für Wahrscheinlichkeiten, aber nicht eine Möglichkeit zu finden, eine bestimmte Klasse Wert mit Wahrscheinlichkeitsindex zuordnen (Nicht durch Blick auf das Ergebnis weiß ich, welcher Index auf welche Klasse verweist Wert aus Label-Spalte, aber ich möchte einen programmatischen Weg, gibt es eine Möglichkeit, in einem der Dokumente fand ich die Klasse in Label Spalte, die am häufigsten wird Index 0 und so weiter, aber was passiert, wenn mehrere Klassen gleiche Anzahl von haben Vorkommen)

enter image description here

Antwort

0

Eine Möglichkeit, dies zu tun:

val firstResult = resultsDataFrame.select($"probability", $"prediction").first() 
val probabilityVector = firstResult(0).asInstanceOf[Vector] 
val prediction = firstResult(1).asInstanceOf[Double] 
val probabilityIndex = if ((probabilityVector(0) < 0.5 && prediction == 0) || (probabilityVector(0) > 0.5 && prediction == 1)) 0 else 1 

Die Wahrscheinlichkeitsindex ist, was Sie suchen

Verwandte Themen