3
私はsklearnを使ってpythonでモデルを訓練しました。同じモデルを使ってSparkでロードし、スパークRDDで予測を生成する方法は?Spark内部でSklearn Modelを使って予測する方法は?
私はsklearnを使ってpythonでモデルを訓練しました。同じモデルを使ってSparkでロードし、スパークRDDで予測を生成する方法は?Spark内部でSklearn Modelを使って予測する方法は?
まあ、
私はSklearnで線形回帰の例を示し、スパーク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であり、seccond要素はbになりますあなたの予測したY.収集はこのような何かを返すでしょう:
[(1, 2), (2, 4), (3, 6), ...]