在spark ML 2.2.0中使用sklearn-python模型进行预测

时间:2018-06-01 08:54:55

标签: python apache-spark machine-learning scikit-learn apache-spark-mllib

我正在使用 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)

有没有办法使用这个相同的pickle来获取基于DataFrame的apache spark而不是基于RDD的输出。我已经阅读了以下文章,但没有找到合适的实施方式。

  1. what-is-the-recommended-way-to-distribute-a-scikit-learn-classifier-in-spark

  2. how-to-do-prediction-with-sklearn-model-inside-spark - >我在StackOverflow上找到了这两个问题并发现它很有用。

  3. deploy-a-python-model-more-efficiently-over-spark

    我是机器学习的初学者。所以,原谅我,如果解释是天真的。任何相关的示例或实现都会有所帮助。

1 个答案:

答案 0 :(得分:0)

RDD->使用Spark的Spark数据帧

喜欢:

import spark.implicits._
val testDF = rdd.map {line=>
                      (line._1,line._2)
                     }.toDF("col1","col2")