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