国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - Spark實現K-Means算法代碼示例

Spark實現K-Means算法代碼示例

2021-02-03 16:44MSTK 服務器知識

這篇文章主要介紹了Spark實現K-Means算法代碼示例,簡單介紹了K-Means算法及其原理,然后通過具體實例向大家展示了用spark實現K-Means算法,需要的朋可以參考下。

K-Means算法是一種基于距離的聚類算法,采用迭代的方法,計算出K個聚類中心,把若干個點聚成K類。

MLlib實現K-Means算法的原理是,運行多個K-Means算法,每個稱為run,返回最好的那個聚類的類簇中心。初始的類簇中心,可以是隨機的,也可以是KMean||得來的,迭代達到一定的次數,或者所有run都收斂時,算法就結束。

Spark實現K-Means算法,首先修改pom文件,引入機器學習MLlib包:

?
1
2
3
4
5
<dependency>
 <groupId>org.apache.spark</groupId>
 <artifactId>spark-mllib_2.10</artifactId>
 <version>1.6.0</version>
</dependency>

代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import org.apache.log4j.{Level,Logger}
import org.apache.spark.{SparkContext, SparkConf}
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.apache.jetty.server").setLevel(Level.OFF)
 // 設置運行環境
 val conf = new SparkConf().setAppName("K-Means").setMaster("spark://master:7077")
  .setJars(Seq("E:\\Intellij\\Projects\\SimpleGraphX\\SimpleGraphX.jar"))
 val sc = new SparkContext(conf)
 // 裝載數據集
 val data = sc.textFile("hdfs://master:9000/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 centres:")
 for(c <- model.clusterCenters) {
  println(" " + c.toString)
 }
 // 使用誤差平方之和來評估數據模型
 val cost = model.computeCost(parsedData)
 println("Within Set Sum of Squared Errors = " + cost)
 // 使用模型測試單點數據
 println("Vectors 7.3 1.5 10.9 is belong to cluster:" + model.predict(Vectors.dense("7.3 1.5 10.9".split(" ")
  .map(_.toDouble))))
 println("Vectors 4.2 11.2 2.7 is belong to cluster:" + model.predict(Vectors.dense("4.2 11.2 2.7".split(" ")
  .map(_.toDouble))))
 println("Vectors 18.0 4.5 3.8 is belong to cluster:" + model.predict(Vectors.dense("1.0 14.5 73.8".split(" ")
  .map(_.toDouble))))
 // 返回數據集和結果
 val result = data.map {
  line =>
  val linevectore = Vectors.dense(line.split(" ").map(_.toDouble))
  val prediction = model.predict(linevectore)
  line + " " + prediction
 }.collect.foreach(println)
 sc.stop
 }
}

使用textFile()方法裝載數據集,獲得RDD,再使用KMeans.train()方法根據RDD、K值和迭代次數得到一個KMeans模型。得到KMeans模型以后,可以判斷一組數據屬于哪一個類。具體方法是用Vectors.dense()方法生成一個Vector,然后用KMeans.predict()方法就可以返回屬于哪一個類。

運行結果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Cluster centres:
 [6.062499999999999,6.7124999999999995,11.5]
 [3.5,12.2,60.0]
Within Set Sum of Squared Errors = 943.2074999999998
Vectors 7.3 1.5 10.9 is belong to cluster:0
Vectors 4.2 11.2 2.7 is belong to cluster:0
Vectors 18.0 4.5 3.8 is belong to cluster:1
0.0 0.0 5.0 0
0.1 10.1 0.1 0
1.2 5.2 13.5 0
9.5 9.0 9.0 0
9.1 9.1 9.1 0
19.2 9.4 29.2 0
5.8 3.0 18.0 0
3.5 12.2 60.0 1
3.6 7.9 8.1 0

總結

本文關于Spark實現K-Means算法代碼示例的全部內容就到這里,希望對大家有所幫助。感如有不足之處,歡迎留言指出,小編會及時回復大家并更正,希望朋友們對本站多多支持!

原文鏈接:http://www.cnblogs.com/mstk/p/6925736.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄视频网站免费观看 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品美女视频 | 亚洲二区在线 | 午夜电影网址 | 中文字幕亚洲国产 | 日本福利视频 | 免费观看av | 日日夜夜一区二区 | www.国产一区| 亚洲综合大片69999 | 国产综合一区二区 | 精品国产乱码一区二区三区 | 五月婷婷网站 | 亚洲欧美日韩一区二区 | 欧美天堂一区二区三区 | 国产精品欧美久久久 | 日韩视频精品在线 | 亚洲欧美激情精品一区二区 | 日本精品免费 | 国产美女自拍视频 | 国产九九精品 | 婷婷国产| 国产精品99精品久久免费 | 欧美另类视频在线 | 精品久久一区 | 狠狠的日| 91午夜理伦私人影院 | 不用播放器的av | 精品婷婷 | 久久久精品一区 | 一区二区三区四区在线 | 亚洲国产精品网站 | 日韩高清国产一区在线 | 日狠狠 | 成人在线视频网址 | 日韩操bb| 欧美日韩一区二区在线观看 | 黄视频在线免费看 | 黄色片视频免费看 | 国产成人精品免高潮在线观看 |