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