异常:java.lang.Double不能强制转换为[D



我有逻辑回归模型,我想计算recall@25

val predictionAndLabels = predicted
.select("prediction", "label")
.rdd.map(x => (x(0).asInstanceOf[Array[Double]], x(1)
.asInstanceOf[Array[Double]]))
val matrix = new RankingMetrics(predictionAndLabels)
Array(1, 25).foreach { k =>
println(s"Recall at $k = ${matrix.RecallAt(k)}")
}

出现此异常的

java.lang.Double不能强制转换为[D

如何解决?

RankingMetrics需要RDD(array,array(,因为您有RDD(double,double(,这意味着您正在传递INVALID参数。

在一般类型转换中,地图转换使用

假设predictionAndLabels.rdd类型为rdd(双,双(

pairArrRDD=predictionAndLabels.rdd.map(x=>(Array(x._1(,Array(x._2((//这是标量

val矩阵=新的排名度量(pairArrRDD(

最新更新