Tan*_*eer 7 python scikit-learn apache-spark pyspark apache-spark-mllib
我使用sklearn在python中训练了一个模型.我们如何使用相同的模型加载Spark并生成火花RDD的预测?
Thi*_*dim 12
好,
我将在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)
Run Code Online (Sandbox Code Playgroud)
在这里,我们只需要适合,您需要预测RDD中的每个数据.
在这种情况下,您的RDD应该是带有X的RDD,如下所示:
rdd = sc.parallelize([1, 2, 3, 4])
Run Code Online (Sandbox Code Playgroud)
所以你首先需要播放你的sklearn模型:
regr_bc = self.sc.broadcast(regr)
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用它来预测您的数据,如下所示:
rdd.map(lambda x: (x, regr_bc.value.predict(x))).collect()
Run Code Online (Sandbox Code Playgroud)
因此,你在RDD中的元素是你的X,而第二个元素将是你预测的Y.收集将返回这样的东西:
[(1, 2), (2, 4), (3, 6), ...]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2488 次 |
| 最近记录: |