【问题标题】:Make Prediction from single observation using pySpark Model使用 pySpark 模型从单次观察中进行预测
【发布时间】:2018-07-27 18:42:01
【问题描述】:

我有一个简单的线性回归模型,我想根据观察结果做出预测。将其视为基于一个特征(以平方英尺为单位的面积)的住房预测模型。

我已经训练了模型并将模型保存到磁盘。然后我按如下方式加载模型:

sameModel = LinearRegressionModel.load("spark_models/new_asset_lrm_model.model")

接下来,我想根据观察结果做出预测,比如 10,000:

在sklearn中我们可以做到:

lm.predict([[10000]])

我将如何在 pySpark 中做同样的事情?

最坏的情况是在这个单一观察上创建一个数据框并传递它。这可能有效,但这是正确的方法吗?

【问题讨论】:

  • 你有两个选择:1)按照你说的做,用单一的观察创建一个数据框并传递它。 2)获取模型的系数和截距,手动计算预测。在这种情况下(一个系数),选项 2 可能是您最好的选择。
  • 感谢您的快速评论。除了这两个,真的没有别的办法了吧?没有什么类似于我们在 sklearn 中所拥有的?有趣...
  • spark 用于大数据处理。它没有针对这样的单一计算进行优化。因此,为了在 spark 中执行此操作,您将承担创建数据帧的大量开销。

标签: apache-spark pyspark


【解决方案1】:

您需要根据模块的类型将其转换为 dataframe 或 rdd。 (spark mllib 使用 rdd,spark ml 使用 df)

test_df = spark.createDataFrame([(1000)], 'features')
predicted_df = lm.predict(test_df)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-24
    • 2020-05-23
    • 2019-11-11
    • 2020-01-25
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多