2016-11-01 2 views
-2

내가 오류가 같이 얻을 :아파치 스파크 predictProbabilities 회원이 아니 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 리눅스

나는이 링크에서 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) 

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

내/집 /user1/nbtest/build.sbt는 ===================================이

같다 ==========================

,363,210
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/홈/사용자 1/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

관련 문제