Ich habe einige DataFrame, die die Vorhersagen aus einer Transformation eines Pipeline-Modells, die ein logistisches Regressionsmodell darstellt. Es erzeugt eine "Wahrscheinlichkeits" -Spalte, die ein Vektor ist, der vermutlich die Regressionslinie relativ zu den vorhersagbaren Werten (0 und 1) darstellt. Wie komme ich zu den Werten? Mein naiver Ansatz:wie mitColumn ein Element eines Vektors
predictionDF.select("probability").show()
predictionDF.select("probability").printSchema()
prediction.withColumn("certainty_no_brudd",
col("probability").cast("vector")(0))
gibt mir die folgende Ausgabe:
+--------------------+
| probability|
+--------------------+
|[0.79704719956042...|
|[0.96065621060123...|
|[0.94869126147921...|
|[0.98881973295162...|
|[0.94738842407184...|
|[0.99517040850391...|
|[0.67513098659304...|
|[0.98185993174719...|
|[0.88716858689769...|
|[0.94886839225328...|
|[0.87093946910993...|
|[0.93752063096904...|
|[0.99093365566705...|
|[0.97163117781123...|
|[0.88384736556118...|
|[0.89095359364458...|
|[0.94304454190511...|
|[0.96116865958545...|
|[0.91555675983743...|
|[0.96092603080292...|
+--------------------+
only showing top 20 rows
root
|-- probability: vector (nullable = true)
Exception in thread "main" org.apache.spark.sql.catalyst.parser.ParseException:
DataType vector() is not supported.(line 1, pos 0)
== SQL ==
vector
^^^
at org.apache.spark.sql.catalyst.parser.AstBuilder$$anonfun$visitPrimitiveDataType$1.apply(AstBuilder.scala:1440)
...
@mtoto Wenn ich den Schwellenwert ändern möchte, könnte ich ProbabilisticClassifier.setThresholds verwenden, aber das ist nicht das, was ich hier versuche. – qonf
Was meinst du mit '" Wie komme ich an die Werte? ", Bitte klären. – mtoto