ストリーミングデータDStream[(Double, Double)]
の場合、平均平方根誤差をどのように見積もりますか?以下の私のコードを見てください。DStream [(Double、Double)]にmath.sqrtを使用するには?
def calculateRMSE(output: DStream[(Double, Double)], n: DStream[Long]): Double = {
val summse = output.foreachRDD { rdd =>
rdd.map {
case pair: (Double, Double) =>
val err = math.abs(pair._1 - pair._2);
err*err
}.reduce(_ + _)
}
math.sqrt(summse)
}
UPDATE: コードはコンパイルされない:Cannot resolve reference sqrt with such signature. Expected: Double, Actual: Unit
あなたの問題は何ですか?コンパイルしないか、ランタイムフォルトまたは間違った値ですか? – thoredge
@thoredge:コードはコンパイルされません: 'このような署名で参照sqrtを解決できません。期待:ダブル、実際:ユニット ' – Klue
何をしたいですか?どの時点でDStreamのRMSEを計算しますか? DStreamは無限のストリームなので、結果は時間に依存するので、 'f(DStream)'演算を実行してスカラー値を取得することは期待できません。 – maasg