作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用 sklearn 在 python 中训练了一个模型。我们如何使用相同的模型加载到 Spark 中并在 spark RDD 上生成预测?
最佳答案
嗯,
我将在 Sklearn 中展示一个线性回归示例,并向您展示如何使用它来预测 Spark RDD 中的元素。
先用sklearn例子训练模型:
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)
这里我们只有拟合,您需要从 RDD 中预测每个数据。
在这种情况下,您的 RDD 应该是像这样带有 X 的 RDD:
rdd = sc.parallelize([1, 2, 3, 4])
所以你首先需要广播你的sklearn模型:
regr_bc = self.sc.broadcast(regr)
然后您可以使用它来预测您的数据,如下所示:
rdd.map(lambda x: (x, regr_bc.value.predict(x))).collect()
所以你在 RDD 中的元素是你的 X,第二个元素将是你预测的 Y。收集将返回这样的东西:
[(1, 2), (2, 4), (3, 6), ...]
关于python - 如何在 Spark 中使用 Sklearn 模型进行预测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42887621/
我是一名优秀的程序员,十分优秀!