【发布时间】:2018-05-15 01:48:48
【问题描述】:
这是我第一次尝试在 Spark 中运行 KMeans 聚类分析,所以,对于一个愚蠢的问题,我深表歉意。
我有一个包含许多列的 spark 数据框 mydataframe。我只想在两列上运行 kmeans:lat 和 long(纬度和经度)将它们用作简单值。我想仅基于这 2 列提取 7 个集群。我试过了:
from numpy import array
from math import sqrt
from pyspark.mllib.clustering import KMeans, KMeansModel
# Prepare a data frame with just 2 columns:
data = mydataframe.select('lat', 'long')
# Build the model (cluster the data)
clusters = KMeans.train(data, 7, maxIterations=15, initializationMode="random")
但我收到一个错误:
'DataFrame' 对象没有属性 'map'
向KMeans.train 提供的对象应该是什么?
显然,它不接受 DataFrame。
我应该如何为分析准备数据框?
非常感谢!
【问题讨论】:
标签: pyspark k-means apache-spark-mllib