2015-09-15 137 views
4

的弗林克DOC給出了SVM算法Scala的例子:翻譯弗林克斯卡拉到Java

val trainingDS: DataSet[LabeledVector] = env.readLibSVM(pathToTrainingFile) 
val svm = SVM() 
.setBlocks(10) 

// Learn the SVM model 
svm.fit(trainingDS) 

將如何調用「適合」轉換爲Java?

(Java表達式 「svm.fit(trainingDS)」 給出一個Java編譯器錯誤:

「,在類型SVM的方法擬合(數據集,parameterMap的,FitOperation)是不適用的參數(數據集) 「 )

回答

4

目前,FlinkML只能與Scala一起使用。原因是FlinkML帶有靈活的管道機制,可以讓您輕鬆構建數據分析管道。這些管道可以由任意數量的Estimators和一個尾隨Predictor組成。

該機制的實現依賴於封裝程序邏輯的類型類。通過將類聲明爲隱式值來自動檢索和鏈接類型類。因此,Scala編譯器將確保執行正確的程序邏輯。

理論上,可以手動構建這些管道。然而,這是一個費力的過程,因此,如果您想與FlinkML進行交互,我建議您只使用Flink的Scala API。

+0

這仍然是這種情況嗎? – Jeremy

+0

不幸的是,是的。 –