PowerIterationClusteringModel¶
- 
class pyspark.mllib.clustering.PowerIterationClusteringModel(java_model: py4j.java_gateway.JavaObject)[source]¶
- Model produced by - PowerIterationClustering.- New in version 1.5.0. - Examples - >>> import math >>> def genCircle(r, n): ... points = [] ... for i in range(0, n): ... theta = 2.0 * math.pi * i / n ... points.append((r * math.cos(theta), r * math.sin(theta))) ... return points ... >>> def sim(x, y): ... dist2 = (x[0] - y[0]) * (x[0] - y[0]) + (x[1] - y[1]) * (x[1] - y[1]) ... return math.exp(-dist2 / 2.0) ... >>> r1 = 1.0 >>> n1 = 10 >>> r2 = 4.0 >>> n2 = 40 >>> n = n1 + n2 >>> points = genCircle(r1, n1) + genCircle(r2, n2) >>> similarities = [(i, j, sim(points[i], points[j])) for i in range(1, n) for j in range(0, i)] >>> rdd = sc.parallelize(similarities, 2) >>> model = PowerIterationClustering.train(rdd, 2, 40) >>> model.k 2 >>> result = sorted(model.assignments().collect(), key=lambda x: x.id) >>> result[0].cluster == result[1].cluster == result[2].cluster == result[3].cluster True >>> result[4].cluster == result[5].cluster == result[6].cluster == result[7].cluster True >>> import os, tempfile >>> path = tempfile.mkdtemp() >>> model.save(sc, path) >>> sameModel = PowerIterationClusteringModel.load(sc, path) >>> sameModel.k 2 >>> result = sorted(model.assignments().collect(), key=lambda x: x.id) >>> result[0].cluster == result[1].cluster == result[2].cluster == result[3].cluster True >>> result[4].cluster == result[5].cluster == result[6].cluster == result[7].cluster True >>> from shutil import rmtree >>> try: ... rmtree(path) ... except OSError: ... pass - Methods - Returns the cluster assignments of this model. - call(name, *a)- Call method of java_model - load(sc, path)- Load a model from the given path. - save(sc, path)- Save this model to the given path. - Attributes - Returns the number of clusters. - Methods Documentation - 
assignments() → pyspark.rdd.RDD[pyspark.mllib.clustering.PowerIterationClustering.Assignment][source]¶
- Returns the cluster assignments of this model. - New in version 1.5.0. 
 - 
call(name: str, *a: Any) → Any¶
- Call method of java_model 
 - 
classmethod load(sc: pyspark.context.SparkContext, path: str) → pyspark.mllib.clustering.PowerIterationClusteringModel[source]¶
- Load a model from the given path. - New in version 1.5.0. 
 - 
save(sc: pyspark.context.SparkContext, path: str) → None¶
- Save this model to the given path. - New in version 1.3.0. 
 - Attributes Documentation - 
k¶
- Returns the number of clusters. - New in version 1.5.0. 
 
-