直接在idea環境下運行Kmeans案例,報錯,請大神幫忙解答謝謝。
kmeans_data.txt的資料如下所示:
0.0 0.0 0.0
0.1 0.1 0.1
0.2 0.2 0.2
9.0 9.0 9.0
9.1 9.1 9.1
9.2 9.2 9.2
代碼:
import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.mllib.clustering.KMeans
import org.apache.spark.mllib.linalg.Vectors
object Kmeans {
def main(args: Array[String]) {
// 屏蔽不必要的日志顯示在終端上
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
// 設定運行環境
val conf = new SparkConf().setAppName("kmeans").setMaster("spark://Sparkmaster:7077")
val sc = new SparkContext(conf)
// 裝載資料集
val data = sc.textFile("/usr/local/hadoop/upload/kmeans_data.txt", 1)
val parsedData = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble)))
// 將資料集聚類,2個類,20次迭代,進行模型訓練形成資料模型
val numClusters = 2
val numIterations = 20
val model = KMeans.train(parsedData, numClusters, numIterations)
// 列印資料模型的中心點
println("Cluster centers:")
for (c <- model.clusterCenters) {
println(" " + c.toString)
}
// 使用誤差平方之和來評估資料模型
val cost = model.computeCost(parsedData)
println("Within Set Sum of Squared Errors = " + cost)
// 使用模型測驗單點資料
println("Vectors 0.2 0.2 0.2 is belongs to clusters:" + model.predict(Vectors.dense("0.2 0.2 0.2".split(' ').map(_.toDouble))))
println("Vectors 0.25 0.25 0.25 is belongs to clusters:" + model.predict(Vectors.dense("0.25 0.25 0.25".split(' ').map(_.toDouble))))
println("Vectors 8 8 8 is belongs to clusters:" + model.predict(Vectors.dense("8 8 8".split(' ').map(_.toDouble))))
// 交叉評估1,只回傳結果
val testdata = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble)))
val result1 = model.predict(testdata)
result1.saveAsTextFile("/usr/local/hadoop/upload/result_kmeans1")
// 交叉評估2,回傳資料集和結果
val result2 = data.map {
line =>
val linevectore = Vectors.dense(line.split(' ').map(_.toDouble))
val prediction = model.predict(linevectore)
line + " " + prediction
}.saveAsTextFile("/usr/local/hadoop/upload/result_kmeans2")
sc.stop()
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/103966.html
標籤:智能路由器
上一篇:求助win7系統根據Mac地址自動配置IP地址和計算機名!
下一篇:請教高手!——電商平臺登錄問題
