KMeansModel ¶
-
class
pyspark.mllib.clustering.
KMeansModel
( centers : List [ VectorLike ] ) [source] ¶ -
一种由k-means方法得出的聚类模型。
新增于版本 0.9.0。
示例
>>> data = array([0.0,0.0, 1.0,1.0, 9.0,8.0, 8.0,9.0]).reshape(4, 2) >>> model = KMeans.train( ... sc.parallelize(data), 2, maxIterations=10, initializationMode="random", ... seed=50, initializationSteps=5, epsilon=1e-4) >>> model.predict(array([0.0, 0.0])) == model.predict(array([1.0, 1.0])) True >>> model.predict(array([8.0, 9.0])) == model.predict(array([9.0, 8.0])) True >>> model.k 2 >>> model.computeCost(sc.parallelize(data)) 2.0 >>> model = KMeans.train(sc.parallelize(data), 2) >>> sparse_data = [ ... SparseVector(3, {1: 1.0}), ... SparseVector(3, {1: 1.1}), ... SparseVector(3, {2: 1.0}), ... SparseVector(3, {2: 1.1}) ... ] >>> model = KMeans.train(sc.parallelize(sparse_data), 2, initializationMode="k-means||", ... seed=50, initializationSteps=5, epsilon=1e-4) >>> model.predict(array([0., 1., 0.])) == model.predict(array([0, 1.1, 0.])) True >>> model.predict(array([0., 0., 1.])) == model.predict(array([0, 0, 1.1])) True >>> model.predict(sparse_data[0]) == model.predict(sparse_data[1]) True >>> model.predict(sparse_data[2]) == model.predict(sparse_data[3]) True >>> isinstance(model.clusterCenters, list) True >>> import os, tempfile >>> path = tempfile.mkdtemp() >>> model.save(sc, path) >>> sameModel = KMeansModel.load(sc, path) >>> sameModel.predict(sparse_data[0]) == model.predict(sparse_data[0]) True >>> from shutil import rmtree >>> try: ... rmtree(path) ... except OSError: ... pass
>>> data = array([-383.1,-382.9, 28.7,31.2, 366.2,367.3]).reshape(3, 2) >>> model = KMeans.train(sc.parallelize(data), 3, maxIterations=0, ... initialModel = KMeansModel([(-1000.0,-1000.0),(5.0,5.0),(1000.0,1000.0)])) >>> model.clusterCenters [array([-1000., -1000.]), array([ 5., 5.]), array([ 1000., 1000.])]
方法
computeCost
(rdd)返回此模型在给定数据上的K-means成本(点到其最近中心的距离平方和)。
load
(sc, path)从给定路径加载模型。
predict
(x)找出每个点在这个模型中属于哪个簇。
save
(sc, 路径)将此模型保存到给定路径。
属性
获取聚类中心,表示为一个NumPy数组的列表。
集群的总数。
方法文档
-
computeCost
( rdd : pyspark.rdd.RDD [ VectorLike ] ) → float [source] ¶ -
返回此模型在给定数据上的K均值成本(点到其最近中心的距离平方和)。
新增于版本 1.4.0。
- Parameters
-
-
rdd
:
pyspark.RDD
-
要计算成本的点的RDD。
-
rdd
:
-
classmethod
load
( sc : pyspark.context.SparkContext , path : str ) → pyspark.mllib.clustering.KMeansModel [source] ¶ -
从给定路径加载模型。
新增于版本 1.4.0。
-
predict
( x : Union [ VectorLike , pyspark.rdd.RDD [ VectorLike ] ] ) → Union [ int , pyspark.rdd.RDD [ int ] ] [source] ¶ -
找出每个点在这个模型中属于的聚类。
新增于版本 0.9.0。
- Parameters
-
-
x
pyspark.mllib.linalg.Vector
orpyspark.RDD
-
一个数据点(或点的RDD)以确定聚类索引。
pyspark.mllib.linalg.Vector
可以替换为等效对象(列表、元组、numpy.ndarray)。
-
x
- Returns
-
-
int or
pyspark.RDD
of int -
预测的聚类索引或如果输入是RDD,则为预测的聚类索引的RDD。
-
int or
属性文档
-
clusterCenters
¶ -
获取聚类中心,表示为一个NumPy数组的列表。
新增于版本 1.0.0。
-
k
¶ -
集群的总数。
新增于版本 1.4.0。
-