Apache-flink-machine-learning

提供:Dev Guides
移動先:案内検索

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

セントロイドデータセット