【发布时间】:2017-05-31 13:14:50
【问题描述】:
我用 Python 训练了一个随机森林算法,并想用 PySpark 将它应用到一个大数据集上。
我首先加载了经过训练的 sklearn RF 模型(使用 joblib),将包含特征的数据加载到 Spark 数据帧中,然后我添加了一个包含预测的列,其中包含如下用户定义的函数:
def predictClass(features):
return rf.predict(features)
udfFunction = udf(predictClass, StringType())
new_dataframe = dataframe.withColumn('prediction',
udfFunction('features'))
运行需要这么多时间,有没有更有效的方法来做同样的事情? (不使用 Spark ML)
【问题讨论】:
-
如果我用 Pandas DataFrame 做同样的事情,它会在 2 秒内完成,比如 predictions = rf.predict(data['features'])
-
是 scikit-learn 的 RF 还是 Spark 的 MLLib RF?
-
这是一个 scikit-learn 射频
标签: python apache-spark scikit-learn pyspark