2016-11-01 5 views
-2

apacheのスパークpredictProbabilitiesメンバーじゃない私はSBTパッケージまたはSBTアセンブリを行うとき、私は次のようにエラーが出ますNaiveBayesModel

値predictProbabilitiesがorg.apache.spark.mllib.classification.NaiveBayesModel

のメンバーではなく、同じコードは、私の火花シェルで動作

/home/user1/spark-1.5.2/bin/spark-shell --packages com.databricks:火花csv_2.10:私が使用1.4.0

スパーク1.5.2およびスカラ2.10.4 sbt 0.13.8

私はcentosを使用しています。6.5 linux

このリンクのpredictProbabilitiesは表示されています。 https://spark.apache.org/docs/1.5.2/api/scala/index.html#org.apache.spark.mllib.classification.NaiveBayesModel

sbtアセンブリまたはio.predictionが必要かどうかわかりません。 しかし、私は試しました。違いはありません。同じエラーを取得します。

は、誰もがこのような問題に遭遇しています。 もしそうなら、私に解決策を教えてください。

ありがとうございます!

私のコードは=======================================

です===================

import org.apache.spark.mllib.classification.{NaiveBayes, NaiveBayesModel} 

import org.apache.spark.mllib.util.MLUtils 

val trainData = MLUtils.loadLibSVMFile(sc, "file:///home/user1/nbtest/trainData.nb.svm") 

val testData = MLUtils.loadLibSVMFile(sc, "file:///home/user1/nbtest/testData.nb.svm") 

val model = NaiveBayes.train(trainData, lambda = 1.0, modelType = "multinomial") 

val predictionAndLabel = testData.map(p => (model.predict(p.features), p.label)) 

val accuracy = 1.0 * predictionAndLabel.filter(x => x._1 == x._2).count()/testData.count() 

val testDataFeatures = testData.map(p => p.features) 

val probabilities = model.predictProbabilities (testDataFeatures) 

====================== ===========================================

私の/ home /user1/nbtest/build.sbtはこの

のようなものです=================================== ==========================

name := "testBayes" 

version := "1.0" 

scalaVersion := "2.10.4" 

scalaSource in Compile := baseDirectory.value/"" 

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.5.2" 

libraryDependencies += "org.apache.spark" % "spark-sql_2.10" % "1.5.2" 

libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "1.4.0" 

libraryDependencies += "com.databricks" % "spark-csv_2.10" % "1.4.0" 

libraryDependencies += "io.prediction" % "core_2.10" % "0.9.6" 

libraryDependencies += "io.prediction" % "sdk" % "0.5.0" 

assemblyMergeStrategy in assembly := { 
case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
case x => MergeStrategy.first 

============================================ =================

私は assembly.sbt plugins.sbt

assembly.sbt /ホーム/ user1の/ nbtest /プロジェクトを持っている

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0") 

plugins.sbt

logLevel := Level.Warn 

================================================ =============

+0

はあなたが私に説明いかがあなたはどう思いますか、あなたのsbtファイルですか? – eliasah

+0

私はspark-submitを使用して実行するターゲットjarファイルをビルドするためにsbtパッケージを実行します。 – marrel

+0

私の質問は何ですか?私はsbtが何であるか知っています。私はあなたの問題を理解するのを手伝っているだけです。 – eliasah

答えて

2

使用このライブラリではなく、使用している火花mllib 1.4.0:

libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "1.5.2" 
+0

ありがとうございます。それは私の部分でかなり悪く見えます。おかげでeliasah。 – marrel

+1

申し訳ありませんが、これは私の最初の投稿です。知りませんでした。私は受け入れた。 – marrel

関連する問題