本文简要介绍
pyspark.mllib.clustering.StreamingKMeansModel
的用法。用法:
class pyspark.mllib.clustering.StreamingKMeansModel(clusterCenters, clusterWeights)
可以执行质心在线更新的聚类模型。
每个质心的更新公式由下式给出
c_t+1 = ((c_t * n_t * a) + (x_t * m_t)) /(n_t + m_t)
n_t+1 = n_t * a + m_t
其中
c_t:第 n 次迭代的质心。
n_t:第 n 次迭代时与质心相关联的样本(或)权重的数量。
x_t:最接近 c_t 的新数据的质心。
m_t:最接近 c_t 的新数据的样本(或)权重数
c_t+1:新质心。
n_t+1:新的权重数。
a:衰减因子,它给出了健忘。
1.5.0 版中的新函数。
- clusterCenters:
pyspark.mllib.linalg.Vector
或可隐藏的列表 初始聚类中心。
- clusterWeights:
pyspark.mllib.linalg.Vector
或可隐藏 分配给每个集群的权重列表。
- clusterCenters:
参数:
注意:
如果 a 设置为 1,则它是先前数据和新数据的加权平均值。如果它设置为零,则完全忘记旧的质心。
例子:
>>> initCenters = [[0.0, 0.0], [1.0, 1.0]] >>> initWeights = [1.0, 1.0] >>> stkm = StreamingKMeansModel(initCenters, initWeights) >>> data = sc.parallelize([[-0.1, -0.1], [0.1, 0.1], ... [0.9, 0.9], [1.1, 1.1]]) >>> stkm = stkm.update(data, 1.0, "batches") >>> stkm.centers array([[ 0., 0.], [ 1., 1.]]) >>> stkm.predict([-0.1, -0.1]) 0 >>> stkm.predict([0.9, 0.9]) 1 >>> stkm.clusterWeights [3.0, 3.0] >>> decayFactor = 0.0 >>> data = sc.parallelize([DenseVector([1.5, 1.5]), DenseVector([0.2, 0.2])]) >>> stkm = stkm.update(data, 0.0, "batches") >>> stkm.centers array([[ 0.2, 0.2], [ 1.5, 1.5]]) >>> stkm.clusterWeights [1.0, 1.0] >>> stkm.predict([0.2, 0.2]) 0 >>> stkm.predict([1.5, 1.5]) 1
相关用法
- Python pyspark StreamingQueryManager.get用法及代码示例
- Python pyspark StreamingQueryManager.resetTerminated用法及代码示例
- Python pyspark StreamingQueryManager.active用法及代码示例
- Python pyspark StreamingQuery.explain用法及代码示例
- Python pyspark StructType用法及代码示例
- Python pyspark StructField用法及代码示例
- Python pyspark StringIndexer用法及代码示例
- Python pyspark StructType.fieldNames用法及代码示例
- Python pyspark StructType.add用法及代码示例
- Python pyspark StopWordsRemover用法及代码示例
- Python pyspark Statistics.corr用法及代码示例
- Python pyspark StandardScaler用法及代码示例
- Python pyspark Statistics.kolmogorovSmirnovTest用法及代码示例
- Python pyspark Statistics.colStats用法及代码示例
- Python pyspark Statistics.chiSqTest用法及代码示例
- Python pyspark Series.asof用法及代码示例
- Python pyspark Series.to_frame用法及代码示例
- Python pyspark Series.rsub用法及代码示例
- Python pyspark Series.mod用法及代码示例
- Python pyspark Series.str.join用法及代码示例
- Python pyspark Series.str.startswith用法及代码示例
- Python pyspark Series.dt.is_quarter_end用法及代码示例
- Python pyspark Series.dropna用法及代码示例
- Python pyspark Series.sub用法及代码示例
- Python pyspark Series.sum用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.mllib.clustering.StreamingKMeansModel。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。