训练好的分类模型可以存储在 Apache Spark 中吗?
can a trained classification model be stored in Apache Spark?
我将使用 Apache Spark(或 Hahoop 中的 Mahout)在一堆训练文档上训练朴素贝叶斯分类器。当我收到要分类的新文档时,我想使用这个模型。我想知道是否有可能在训练时存储模型,然后在另一个 Spark 作业中加载它?
是的,see the Spark mllib naives bayes documentation。
model.save(sc, "myModelPath")
val sameModel = NaiveBayesModel.load(sc, "myModelPath")
在 Mahout 的 MapReduce 支持的 NaiveBayes 中,如果通过 CLI 进行训练,模型将保存到 -o
参数指定的目录中:
mahout trainnb
-i ${PATH_TO_TFIDF_VECTORS}
-o ${"path/to/model}/model
-li ${PATH_TO_MODEL}/labelindex
-ow
-c
参见:http://mahout.apache.org/users/classification/bayesian.html
并通过以下方式检索:
NaiveBayesModel model = NaiveBayesModel.materialize(("/path/to/model"), getConf());
或者,使用 Mahout-Samsara 的 Spark 支持的朴素贝叶斯,可以从命令行训练模型,并将类似地输出到 -o
参数指定的路径:
mahout spark-trainnb
-i ${PATH_TO_TFIDF_VECTORS}
-o ${/path/to/model}
-ow
-c
或者可以通过以下方式从应用程序中训练模型:
val model = SparkNaiveBayes.train(aggregatedObservations, labelIndex, false)
通过以下方式输出到 (HD)FS:
model.dfsWrite("/path/to/model")
并通过以下方式检索:
val retrievedModel = NBModel.dfsRead("/path/to/model")
参见:http://mahout.apache.org/users/environment/classify-a-doc-from-the-shell.html
我将使用 Apache Spark(或 Hahoop 中的 Mahout)在一堆训练文档上训练朴素贝叶斯分类器。当我收到要分类的新文档时,我想使用这个模型。我想知道是否有可能在训练时存储模型,然后在另一个 Spark 作业中加载它?
是的,see the Spark mllib naives bayes documentation。
model.save(sc, "myModelPath")
val sameModel = NaiveBayesModel.load(sc, "myModelPath")
在 Mahout 的 MapReduce 支持的 NaiveBayes 中,如果通过 CLI 进行训练,模型将保存到 -o
参数指定的目录中:
mahout trainnb
-i ${PATH_TO_TFIDF_VECTORS}
-o ${"path/to/model}/model
-li ${PATH_TO_MODEL}/labelindex
-ow
-c
参见:http://mahout.apache.org/users/classification/bayesian.html
并通过以下方式检索:
NaiveBayesModel model = NaiveBayesModel.materialize(("/path/to/model"), getConf());
或者,使用 Mahout-Samsara 的 Spark 支持的朴素贝叶斯,可以从命令行训练模型,并将类似地输出到 -o
参数指定的路径:
mahout spark-trainnb
-i ${PATH_TO_TFIDF_VECTORS}
-o ${/path/to/model}
-ow
-c
或者可以通过以下方式从应用程序中训练模型:
val model = SparkNaiveBayes.train(aggregatedObservations, labelIndex, false)
通过以下方式输出到 (HD)FS:
model.dfsWrite("/path/to/model")
并通过以下方式检索:
val retrievedModel = NBModel.dfsRead("/path/to/model")
参见:http://mahout.apache.org/users/environment/classify-a-doc-from-the-shell.html