flink理论干货笔记(6)

本文深入探讨了Flink的ScatterGather迭代模型,包括Gather-Sum-Apply(GSA)模型,讲解了它们在图算法如PageRank和联通分量中的应用。此外,还介绍了Flink的Gelly库,包括支持的图算法如单源最短路径和社区发现。文章还涵盖了Flink的机器学习库flinkml,以及分布式环境下的配置和优化,如设置并行度、使用保存点和恢复策略,以及状态后端的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

501. ScatterGatherConfiguration用来配置分散-聚集迭代模型。方法有setName、setParalleliam、registerAggregator、setOptNumVertices、getNumberOfVertices、setOptDegrees、addBroadcastSetForxxx、setDirection等

502. Gatter-Sum-Apply模型也是同步迭代进行的模型,有三个阶段,收集、总和、应用。GSA也能计算单源最短路径。调用runGatherSumApplyIteration,参数是GatherFunction、SumFunction、ApplyFunction

503. GSA还能实现PageRank、联通分量等算法; GSA的配置同样有setName、setParallelism、registerAggregator、addBroadcastSetForxxx、setOptNumVertices、setDirection等

504. 分散-聚集模型对内存有较低要求,且程序容易维护,对发送和接受的消息没有并发访问。GSA模型和分散-聚集模型很像,用GSA实现就能用后者实现。

505. gelly支持的图算法有LabelPropagation(社区发现)、联通组件(用collect-sum-apply)、单源最短路径、三角枚举器等; 聚类包括平均聚类系数、全局聚类系数、局部聚类系数。

506. HITS是超链接引发的主题搜索,它类似于PageRank,但顶点得分全部发送到每个邻居,而在pagerank中顶点得分首先除以邻居的数量。

507. Adamic-Adar测量顶点对之间的相似度,作为共享邻居的度的反对数之和。分数是非负且无界。Jaccard指数测量顶点邻域之间的相似度,且被计算为共享邻居的数量除以不同邻居的数量。分数从0到1

508.  VertexInDegree、VertexOutDegree、VertexDegrees、EdgeSourceDegrees、EdgeTargetDegrees、EdgeDegreesPair、VertexDegree、EdgeSourceDegree、EdgeTargetDegree、EdgeDegreePair、MaximumDegree、Simplify、TranslateGraphIds、TranslateVertexValues、TranslateEdgeValues等

509. GridGraph和generate()搭配是网格图生成器。CirculantGraph和generate()搭配是有向循环图生成器。CompleteGraph和generate()是完全图。CycleGraph是无向循环图。EchoGraph是回声图。EmptyGraph是空图。HypercubeGraph是超立方图。PathGraph是路径图。RMatGraph是有向幂律顿图。SingletonEdgeGraph是包含孤立的双路径的无向图。StarGraph是星图。 

510. 二分图即BipartiteGraph,其中一个DataSet表示顶部节点,另一个表示底部节点,还有一个表示二者之间的边。边用BipartiteEdge表示,没有值用NullValue表示。创建方式是fromDataSet。图形转换用Projection,分为顶部和底部projection,也可分为简单projection和完整projection,具体是projectionBottomSimple和projectionBottomFull。

511. flinkml目前支持svm、knn、minmax scaler、als、sos、交叉验证、距离指标、多元线性回归等算法。需要依赖如flink-ml_2.11包。

512. flinkml常用api有:Splitter.trainTestSplit(用于拆分训练集和测试集)、training、testing 、MultipleLinearRegression、setStepsize、setIterations、setConvergenceThreshold、fit、predict等

513. StandardScaler、PolynomialFeatures、setDegree、chainTransformer、chainPredictor; LabeledVector表示(label,features),而DenseVector表示密集向量

514. libSVM格式是通用的ml格式,可用readLibSVM读取,用writeLibSVM保存,它们在MLUtils文件中;用svm分类:
val svm=SVM()
.setBlocks(…)
.setIterations(100)
.setRegularization(…)
.setStepsize(…)
.setSeed(…) 

515. svm.fit(…)和svm.evaluate(…) ;以及kFoldSplit、multiRandomSplit、trainTestHoldoutSplit、
trainTestSplit

516. DistanceMetric可用于自定义距离指标。目前支持Euclidean、squared Euclidean、cosine、Chebyshev、Manhattan、Minkowski、Tanimoto等

517. ml.pipeline是flinkml的管道,受sklearn启发,有Estimator、Transformer、Predictor接口。FlinkMLTools. registerFlinkMLTypes用于注册ml类型

518. PolynomialFeatures是多项式特征,支持fit和transform,可以是Vector或LabeledVector类型,方法有setDegree、chainPredictor

519. 随机异常值选择(SOS)是一种无监督的离群值选择算法,为每个数据点输出异常值概率,当其他数据点与之亲和力不足,就被认为是异常值。SOS可用于日志分析、欺诈监测、质量控制等。参数有困惑度、errorTolerance、maxIterations,模型是StochasticOutlierSelection,方法有setPerplexity

520. StandardScaler让数据具有标准的均值和方差,也是一种Transformer,方法有fit和transform,类型也有Vector和LabeledVector,参数有mean、std,方法是setMean和setStd

521. ALS是一种Predictor,有fit和predict方法,参数有nu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值