한 스파크 견적 도구를 다른 것으로 쉽게 바꿀 수 있기를 원합니다.스칼라에서 일반적인 스파크 견적 도구 사용
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
어떻게 수정 될 수 있습니까?
힌트를 주셔서 감사합니다! –