Apache Flink - Học máy
Thư viện Machine Learning của Apache Flink được gọi là FlinkML. Vì việc sử dụng máy học ngày càng tăng theo cấp số nhân trong 5 năm qua, cộng đồng Flink đã quyết định thêm APO máy học này vào hệ sinh thái của mình. Danh sách những người đóng góp và thuật toán ngày càng tăng trong FlinkML. API này chưa phải là một phần của phân phối nhị phân.
Đây là một ví dụ về hồi quy tuyến tính sử dụng 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)
Phía trong flink-1.7.1/examples/batch/, bạn sẽ tìm thấy tệp KMeans.jar. Hãy để chúng tôi chạy ví dụ FlinkML mẫu này.
Chương trình ví dụ này được chạy bằng cách sử dụng điểm mặc định và tập dữ liệu centroid.
./bin/flink run examples/batch/KMeans.jar --output Print