在 spark ML 2.2.0 中使用 sklearn-python 模型进行预测
Posted
技术标签:
【中文标题】在 spark ML 2.2.0 中使用 sklearn-python 模型进行预测【英文标题】:Using sklearn-python model in spark ML 2.2.0 for prediction 【发布时间】:2018-11-11 08:53:59 【问题描述】:我正在使用 sklearn 在 python 中处理一个文本分类问题。我已创建模型并将其保存在 pickle 中。
下面是我在 sklearn 中使用的代码。
vectorizerPipe = Pipeline([('tfidf', TfidfVectorizer(lowercase=True,
stop_words='english')),
('classification', OneVsRestClassifier(LinearSVC(penalty='l2', loss='hinge'))),])
prd=vectorizerPipe.fit(features_used,labels_used])
f = open(file_path, 'wb')
pickle.dump(prd, f)
有没有办法使用这个相同的泡菜来获取基于 DataFrame 的 apache spark 而不是基于 RDD 的输出。我浏览了以下文章,但没有找到合适的实现方法。
what-is-the-recommended-way-to-distribute-a-scikit-learn-classifier-in-spark
how-to-do-prediction-with-sklearn-model-inside-spark -> 我在 *** 上找到了这两个问题,发现它很有用。
deploy-a-python-model-more-efficiently-over-spark
我是机器学习的初学者。所以,请原谅我的解释是幼稚的。任何相关的示例或实现都会有所帮助。
【问题讨论】:
您是否找到了有关如何在火花集群上使用 scikit-learn 训练模型的任何解决方案? @Rudr :不,我们已经使用 scala 为该特定过程创建了一个单独的模型。 【参考方案1】:RDD -> 使用 Spark 触发数据帧
喜欢:
import spark.implicits._
val testDF = rdd.map line=>
(line._1,line._2)
.toDF("col1","col2")
【讨论】:
以上是关于在 spark ML 2.2.0 中使用 sklearn-python 模型进行预测的主要内容,如果未能解决你的问题,请参考以下文章
使用 PySpark 将多个数字列拟合到 spark-ml 模型中