簡體   English   中英

異常:java.lang.Double 不能轉換為 [D

[英]Exception:java.lang.Double cannot be cast to [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(double,double)

pairArrRDD = predictionAndLabels.rdd.map(x => (Array(x._1),Array(x._2))) //這是scala

val 矩陣 = 新排名指標( pairArrRDD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM