Apache Flink - Makine Öğrenimi

Apache Flink'in Makine Öğrenimi kitaplığı FlinkML olarak adlandırılır. Makine öğreniminin kullanımı son 5 yılda katlanarak arttığından, Flink topluluğu bu makine öğrenimi APO'sunu kendi ekosistemine de eklemeye karar verdi. Katkıda bulunanların ve algoritmaların listesi FlinkML'de artıyor. Bu API henüz ikili dağıtımın bir parçası değil.

İşte FlinkML kullanan bir doğrusal regresyon örneği -

// 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)

İçeride flink-1.7.1/examples/batch/yol, KMeans.jar dosyasını bulacaksınız. Bu örnek FlinkML örneğini çalıştıralım.

Bu örnek program, varsayılan nokta ve ağırlık merkezi veri kümesi kullanılarak çalıştırılır.

./bin/flink run examples/batch/KMeans.jar --output Print