Apache Flink - Pembelajaran Mesin
Library Machine Learning Apache Flink disebut FlinkML. Karena penggunaan pembelajaran mesin telah meningkat secara eksponensial selama 5 tahun terakhir, komunitas Flink memutuskan untuk menambahkan APO pembelajaran mesin ini juga dalam ekosistemnya. Daftar kontributor dan algoritme meningkat di FlinkML. API ini belum menjadi bagian dari distribusi biner.
Berikut adalah contoh regresi linier menggunakan 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)
Dalam flink-1.7.1/examples/batch/path, Anda akan menemukan file KMeans.jar. Mari kita jalankan contoh FlinkML contoh ini.
Program contoh ini dijalankan menggunakan titik default dan kumpulan data sentroid.
./bin/flink run examples/batch/KMeans.jar --output Print