当前位置:   article > 正文

Flink-ML机器学习

flink ml

FlinkML是Flink的机器学习(ML)库。这是Flink社区的一项新工作,其中包含越来越多的算法和贡献者。使用FlinkML,我们的目标是提供可扩展的ML算法,直观的API和工具


支持的算法

监督学习

  • SVM using Communication efficient distributed dual coordinate ascent (CoCoA)

  • Multiple linear regression

  • Optimization Framework


无监督学习

  • k-Nearest neighbors join


数据预处理

  • Polynomial Features

  • Standard Scaler

  • MinMax Scaler


Flink ML机器学习入门实战

<dependency>  <groupId>org.apache.flink</groupId>  <artifactId>flink-ml_2.11</artifactId>  <version>1.8.0</version></dependency>

val trainingData: DataSet[LabeledVector] = ...val testingData: DataSet[Vector] = ...val dataSet: DataSet[LabeledVector] = ...val trainTestData: DataSet[TrainTestDataSet] = Splitter.trainTestSplit(dataSet)val trainingData: DataSet[LabeledVector] = trainTestData.trainingval testingData: DataSet[Vector] = trainTestData.testing.map(lv => lv.vector)val mlr = MultipleLinearRegression()  .setStepsize(1.0)  .setIterations(100)  .setConvergenceThreshold(0.001)mlr.fit(trainingData)val predictions: DataSet[LabeledVector] = mlr.predict(testingData)


FlinkML数据分析管道


FlinkML的一个关键概念是其scikit-learn启发的流水线机制。它允许您快速构建复杂的数据分析管道,使其出现在每个数据科学家的日常工作中。可以在此处找到有关FlinkML管道及其内部工作的深入描述。

val trainingData: DataSet[LabeledVector] = ...val testingData: DataSet[Vector] = ...val scaler = StandardScaler()val polyFeatures = PolynomialFeatures().setDegree(3)val mlr = MultipleLinearRegression()val pipeline = scaler.chainTransformer(polyFeatures).chainPredictor(mlr)pipeline.fit(trainingData)val predictions: DataSet[LabeledVector] = pipeline.predict(testingData)

640?wx_fmt=jpeg


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/979272
推荐阅读
相关标签
  

闽ICP备14008679号