Apache Flink - 機器學習



Apache Flink 的機器學習庫稱為 FlinkML。隨著在過去 5 年中機器學習的使用呈指數級增長,Flink 社群決定在其生態系統中新增此機器學習 APO。FlinkML 中的貢獻者和演算法列表正在不斷增加。此 API 尚未成為二進位制分發的一部分。

下面是使用 FlinkML 進行線性迴歸的示例 -

// LabeledVector is a feature vector with a label (class or real value)
val trainingData: DataSet[LabeledVector] = ...
val testingData: DataSet[Vector] = ...

// Alternatively, a Splitter is used to break up a DataSet into training and testing data.
val dataSet: DataSet[LabeledVector] = ...
val trainTestData: DataSet[TrainTestDataSet] = Splitter.trainTestSplit(dataSet)
val trainingData: DataSet[LabeledVector] = trainTestData.training
val testingData: DataSet[Vector] = trainTestData.testing.map(lv => lv.vector)
val mlr = MultipleLinearRegression()

.setStepsize(1.0)
.setIterations(100)
.setConvergenceThreshold(0.001)
mlr.fit(trainingData)

// The fitted model can now be used to make predictions
val predictions: DataSet[LabeledVector] = mlr.predict(testingData)

flink-1.7.1/examples/batch/ 路徑中,你會找到 KMeans.jar 檔案。讓我們執行此 FlinkML 示例。

使用預設點和質心資料集執行此示例程式。

./bin/flink run examples/batch/KMeans.jar --output Print
Centroid Data Set
廣告