StreamingKMeansModel

pyspark.mllib.clustering。 StreamingKMeansModel ( clusterCenters:列表(VectorLike],clusterWeights:VectorLike )

聚類模型,可以執行在線更新的重心。

為每個重心由更新公式

  • c_t + 1 = ((c_t * n_t *) + (x_t * m_t)) / (n_t + m_t)

  • n_t + 1 = n_t * + m_t

在哪裏

  • c_t:重心n_th迭代。

  • n_t:數量的樣品(或)重量與重心n_th迭代。

  • x_t:重心接近c_t新數據。

  • m_t:數量的樣品(或)接近c_t新數據的權重

  • c_t + 1:新的重心。

  • n_t + 1:新的權重。

  • 答:衰減係數,給出了健忘。

參數
clusterCenters 的列表pyspark.mllib.linalg.Vector或covertible

初始聚類中心。

clusterWeights pyspark.mllib.linalg.Vector或covertible

權重分配給每個集群列表。

筆記

如果設置為1,它是之前和新數據的加權平均數。如果設置為0,舊的重心完全被遺忘。

例子

> > >initCenters=[[0.0,0.0),(1.0,1.0]]> > >initWeights=(1.0,1.0]> > >stkm=StreamingKMeansModel(initCenters,initWeights)> > >數據=sc並行化([[- - - - - -0.1,- - - - - -0.1),(0.1,0.1),(0.9,0.9),(1.1,1.1]])> > >stkm=stkm更新(數據,1.0,“批”)> > >stkm中心數組([[0。,0),(1。,1。]])> > >stkm預測([- - - - - -0.1,- - - - - -0.1])0> > >stkm預測([0.9,0.9])1> > >stkmclusterWeights[3.0,3.0]> > >decayFactor=0.0> > >數據=sc並行化([DenseVector([1.5,1.5]),DenseVector([0.2,0.2))))> > >stkm=stkm更新(數據,0.0,“批”)> > >stkm中心數組([[0.2,0.2],[1.5,1.5]])> > >stkmclusterWeights[1.0,1.0]> > >stkm預測([0.2,0.2])0> > >stkm預測([1.5,1.5])1

方法

computeCost(抽樣)

返回的k - means成本(指向最近的中心的距離平方的總和)模型在給定的數據。

負載(sc路徑)

從給定的路徑加載模型。

預測(x)

發現集群中的每個點屬於這個模型。

保存(sc路徑)

這個模型保存到給定的路徑。

更新(數據、decayFactor timeUnit)

更新重心,根據數據

屬性

clusterCenters

得到聚類中心,表示為一個列表的NumPy數組。

clusterWeights

返回集群權重。

k

總數量的集群。

方法的文檔

computeCost ( 抽樣:pyspark.rdd.RDD(VectorLike] )→浮動

返回的k - means成本(指向最近的中心的距離平方的總和)模型在給定的數據。

參數
抽樣 :pyspark.RDD

的抽樣點來計算成本。

classmethod 負載 ( sc:pyspark.context.SparkContext,路徑:str )pyspark.mllib.clustering.KMeansModel

從給定的路徑加載模型。

預測 ( x:聯盟(VectorLike,pyspark.rdd.RDD(VectorLike]] )→聯盟(int,pyspark.rdd.RDD(int] ]

發現集群中的每個點屬於這個模型。

參數
x pyspark.mllib.linalg.Vectorpyspark.RDD

一個數據點(或抽樣點)來確定集群指數。pyspark.mllib.linalg.Vector可以使用等效替換對象(列表、元組、numpy.ndarray)。

返回
int或pyspark.RDD的整數

預測集群索引或抽樣的預測集群指數如果輸入是一個抽樣。

保存 ( sc:pyspark.context.SparkContext,路徑:str )→沒有

這個模型保存到給定的路徑。

更新 ( 數據:pyspark.rdd.RDD(VectorLike],decayFactor:浮動,timeUnit:str )→StreamingKMeansModel

更新重心,根據數據

參數
數據 pyspark.RDD

抽樣的新數據模型更新。

decayFactor 浮動

遺忘以前的重心。

timeUnit str

可以“批次”或“點”。如果點,衰減係數提出的一些新的分如果批次,則將使用衰減係數。

屬性的文檔

clusterCenters

得到聚類中心,表示為一個列表的NumPy數組。

clusterWeights

返回集群權重。

k

總數量的集群。