1
我有以下兩種使用Apache Spark中的對象的方法。減少兩個Scala方法,只有一個不同對象類型
def SVMModelScoring(sc: SparkContext, scoringDataset: String, modelFileName: String): RDD[(Double, Double)] = {
val model = SVMModel.load(sc, modelFileName)
val scoreAndLabels =
MLUtils.loadLibSVMFile(sc, scoringDataset).randomSplit(Array(0.1), seed = 11L)(0).map { point =>
val score = model.predict(point.features)
(score, point.label)
}
return scoreAndLabels
}
def DecisionTreeScoring(sc: SparkContext, scoringDataset: String, modelFileName: String): RDD[(Double, Double)] = {
val model = DecisionTreeModel.load(sc, modelFileName)
val scoreAndLabels =
MLUtils.loadLibSVMFile(sc, scoringDataset).randomSplit(Array(0.1), seed = 11L)(0).map { point =>
val score = model.predict(point.features)
(score, point.label)
}
return scoreAndLabels
}
我以前的嘗試合併這些函數導致錯誤環繞model.predict。
有沒有一種方法可以使用模型作爲在Scala中弱類型的參數?
非常有希望...但我的IDE(Eclipse)拋出一個錯誤的'矢量'在你提供的代碼的第一行(我試圖調試,但萬一你可能知道.. ) – 2015-03-25 01:09:14
「type Vector需要類型參數」 – 2015-03-25 01:09:48
您的IDE已導入Scala的'Vector [T]'collec而不是Spark的:[org.apache.spark.mllib.linalg.Vector](http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.mllib。 linalg.Vector) – millhouse 2015-03-25 01:44:35