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: Ссылка
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%Tags und Links scala apache-spark apache-spark-ml