【发布时间】:2016-09-16 17:55:48
【问题描述】:
我正在使用以下代码创建一个聚类模型,然后将每条记录分类到某个聚类:
from pyspark.mllib.clustering import KMeans
from pyspark.mllib.linalg import Vectors
spark_df = sqlContext.createDataFrame(pandas_df)
rdd = spark_df.rdd.map(lambda data: Vectors.dense([float(c) for c in data]))
model = KMeans.train(rdd, 2, maxIterations=10, initializationMode="random")
result = model.predict(red)
如何将预测结果作为附加列附加回 spark_df?谢谢!
【问题讨论】:
-
为什么不首先使用
ml? -
我无法将 spark_df(数据框)转换为 spark 数据集。如果我只是将数据框与 ml 一起使用,它将无法正常工作。关于如何将数据框转换为数据集的任何建议?谢谢!
-
如果我使用 ml: model = kmeans.fit(spark_df),我得到错误:AnalysisException: u"cannot resolve '
features' given input columns: [field_1, field_2, ... field10 ];"所以在我看来我不能直接使用 spark_df -
@SandipanDey withcolumn 仅适用于现有列的派生列。在这里它没有给出预期的结果。
-
@Edamame 你能解决这个问题吗?任何帮助都会很棒...
标签: python apache-spark pyspark apache-spark-sql apache-spark-mllib