相关疑难解决方法(0)

如何提供Spark MLlib模型?

我正在评估基于生产ML的应用程序的工具,我们的一个选项是Spark MLlib,但是我对如何在训练后提供模型服务有一些疑问?

例如,在Azure ML中,一旦经过培训,该模型将作为Web服务公开,可以从任何应用程序中使用,这与Amazon ML类似.

您如何在Apache Spark中提供/部署ML模型?

machine-learning apache-spark apache-spark-mllib

35
推荐指数
2
解决办法
6654
查看次数

如何将模型从ML Pipeline保存到S3或HDFS?

我正在努力保存ML Pipeline生产的数千种型号.正如在答复中指出这里,该机型可以保存如下:

import java.io._

def saveModel(name: String, model: PipelineModel) = {
  val oos = new ObjectOutputStream(new FileOutputStream(s"/some/path/$name"))
  oos.writeObject(model)
  oos.close
}

schools.zip(bySchoolArrayModels).foreach{
  case (name, model) => saveModel(name, Model)
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用s3://some/path/$name,/user/hadoop/some/path/$name因为我希望模型最终保存到亚马逊s3,但它们都失败,并显示无法找到路径的消息.

如何将模型保存到Amazon S3?

java scala apache-spark apache-spark-ml apache-spark-mllib

15
推荐指数
2
解决办法
9289
查看次数

为什么spark.ml不实现任何spark.mllib算法?

遵循Spark MLlib指南, 我们可以读到Spark有两个机器学习库:

  • spark.mllib,建立在RDD之上.
  • spark.ml,建立在Dataframes之上.

根据 StackOverflow上的这个这个问题,Dataframes比RDD更好(和更新),应尽可能使用.

问题是我想使用常见的机器学习算法(例如:Frequent Pattern Mining,Naive Bayes等)和spark.ml(对于数据帧)不提供此类方法,仅spark.mllib(对于RDD)提供此算法.

如果Dataframes比RDD更好并且推荐指南推荐使用spark.ml,为什么不能在该lib中实现常见的机器学习方法?

这里遗漏的是什么?

machine-learning apache-spark pyspark apache-spark-ml apache-spark-mllib

14
推荐指数
1
解决办法
3104
查看次数

如何在Apache Spark中保存和加载MLLib模型

我在Apache Spark(使用pyspark)中训练了一个分类模型.我将模型存储在一个对象中LogisticRegressionModel.现在,我想对新数据做出预测.我想存储模型,并将其读回新程序以进行预测.知道如何存储模型吗?我想的可能是泡菜,但我是python和Spark的新手,所以我想听听社区的想法.

更新:我还需要一个决策树分类器.要阅读它,我需要导入DecisionTreeModelpyspark

python apache-spark pyspark apache-spark-mllib

10
推荐指数
1
解决办法
1万
查看次数

pySpark:保存ML模型

有人可以举例说明如何在pySpark中保存ML模型吗?

对于

ml.classification.LogisticRegressionModel
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下内容:

model.save("path")
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用。

machine-learning apache-spark pyspark

6
推荐指数
1
解决办法
1万
查看次数

Spark ML - 保存OneVsRestModel

我正在重构我的代码以利用DataFrames,Estimators和Pipelines.我本来用MLlib多类LogisticRegressionWithLBFGSRDD[LabeledPoint].我很高兴学习和使用新的API,但我不知道如何保存我的新模型并将其应用于新数据.

目前,ML实现LogisticRegression仅支持二进制分类.我是,而不是像这样使用OneVsRest:

val lr = new LogisticRegression().setFitIntercept(true)
val ovr = new OneVsRest()
ovr.setClassifier(lr)
val ovrModel = ovr.fit(training)
Run Code Online (Sandbox Code Playgroud)

我现在想保存我的OneVsRestModel,但这似乎不受API的支持.我试过了:

ovrModel.save("my-ovr") // Cannot resolve symbol save
ovrModel.models.foreach(_.save("model-" + _.uid)) // Cannot resolve symbol save
Run Code Online (Sandbox Code Playgroud)

有没有办法保存这个,所以我可以将它加载到新的应用程序中进行新的预测?

scala apache-spark apache-spark-ml apache-spark-mllib

5
推荐指数
1
解决办法
945
查看次数

如何在scala中保存RandomForestClassifier Spark模型?

我使用以下代码构建了一个随机森林模型:

import org.apache.spark.ml.classification.RandomForestClassificationModel
import org.apache.spark.ml.classification.RandomForestClassifier
val rf = new RandomForestClassifier().setLabelCol("indexedLabel").setFeaturesCol("features")
val labelConverter = new    IndexToString().setInputCol("prediction").setOutputCol("predictedLabel").setLabels(labelIndexer.labels)
val training = labelIndexer.transform(df)
val model = rf.fit(training)
Run Code Online (Sandbox Code Playgroud)

现在我想保存模型,以便以后使用以下代码进行预测:

val predictions: DataFrame = model.transform(testData)
Run Code Online (Sandbox Code Playgroud)

我在这里查看了Spark文档,但没有找到任何选项.任何的想法?我花了几个小时来构建模型,如果Spark破碎我将无法恢复它.

scala apache-spark apache-spark-mllib

5
推荐指数
1
解决办法
2594
查看次数

将 Spark Rdd 列转换为 Pyspark 中的行

我有一个 Spark Rdd,其形式为 Row(id,Words),其中单词包含单词列表。我想将此列表转换为单列。输入

ID  Words
1   [w1,w2,w3]
2   [w3,w4]
Run Code Online (Sandbox Code Playgroud)

我想将其转换为输出格式

ID  Word
1   w1
1   w2
1   w3
2   w3
2   w4
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

0
推荐指数
1
解决办法
3280
查看次数

管道拟合后如何保存模型?

我在 Spark ML 中编写了这段代码

import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.Pipeline

val lr = new LogisticRegression()
val pipeline = new Pipeline()
                .setStages(Array(fooIndexer, fooHotEncoder, assembler, lr))
val model = pipeline.fit(training)
Run Code Online (Sandbox Code Playgroud)

这段代码需要很长时间才能运行。是否有可能在运行 pipeline.fit 后将模型保存在 HDFS 上,这样我就不必一次又一次地运行它?

编辑:另外,当我必须transform在模型上应用时如何从 HDFS 加载它以便我可以进行预测。

apache-spark apache-spark-ml

0
推荐指数
1
解决办法
2197
查看次数