スパークエスティメータを別のスパークエスティメータに簡単に置き換えたいと思っています。Scalaで一般的なスパークエスティメータを使用する
def evaluatePrecisionForUser(estimator:Estimator[Model[_]]): Double ={
...
val model = estimator.fit(trainingData)
...
}
ここで、上記のメソッドに渡されるべき一般的な推定を返すクラスのいずれかです:: 私は一般的な推定器を使用する方法を作成しました
object RandomForestEstimatorBuilder {
def build(): Estimator[Model[_]] ={
...
val pipeline = new Pipeline()
...
pipeline
}
は、最後の行は、このエラーが発生します:
Error: type mismatch; found : org.apache.spark.ml.Pipeline required: org.apache.spark.ml.Estimator[org.apache.spark.ml.Model[]] Note: org.apache.spark.ml.PipelineModel <: org.apache.spark.ml.Model[] (and org.apache.spark.ml.Pipeline <: org.apache.spark.ml.Estimator[org.apache.spark.ml.PipelineModel]), but class Estimator is invariant in type M. You may wish to define M as +M instead. (SLS 4.5) pipeline
どのように修正できますか?
ヒントをいただきありがとうございます! –