赞
踩
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.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)
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。