Wie erhalten Sie Wahrscheinlichkeiten, die der Klasse von Spark ML random forest entsprechen

8

Ich habe org.apache.spark.ml.Pipeline für maschinelle Lernaufgaben verwendet. Es ist besonders wichtig, die tatsächlichen Wahrscheinlichkeiten zu kennen und nicht nur ein vorhergesagtes Etikett, und ich habe Schwierigkeiten, es zu bekommen. Hier mache ich eine binäre Klassifizierungsaufgabe mit zufälliger Gesamtstruktur. Die Klassenbezeichnungen sind "Ja" und "Nein". Ich möchte die Wahrscheinlichkeit für das Label "Ja" ausgeben. Die Wahrscheinlichkeiten werden in einem DenseVector als Pipeline-Ausgabe gespeichert, wie [0.69, 0.31], aber ich weiß nicht, welcher entspricht "Ja" (0.69 oder 0.31?). Ich denke, es sollte eine Möglichkeit geben, es von labelIndexer abzurufen?

Hier ist mein Aufgabencode zum Trainieren des Modells

%Vor%

Dann werde ich die Pipeline laden und Vorhersagen über neue Daten treffen, und hier ist der Codestück

%Vor%

Hinweise zu den Wahrscheinlichkeiten und Labels für RF: Ссылка

    
Qing 26.02.2016, 00:03
quelle

1 Antwort

-1

meinst du, dass du die Wahrscheinlichkeit der positiven Markierung im DenseVector extrahieren willst? Wenn ja, können Sie eine udf-Funktion erstellen, um die Wahrscheinlichkeit zu lösen. Im DenseVector der binären Klassifikation gibt das erste Col die Wahrscheinlichkeit von "0" und das zweite Col von "1" an.

%Vor%     
Joe Asir 12.09.2017 03:23
quelle