欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何分析K-meansClustering

如何分析K-means Clustering ,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、斗門網(wǎng)站維護(hù)、網(wǎng)站推廣。

一:算法

    K-means 算法是機(jī)器學(xué)習(xí) 聚類算法中很常用,也是最基本的一種算法。聚類算法屬于無監(jiān)督學(xué)習(xí)算法。算法的步驟分為以下兩步:1,根據(jù)分組大小K的值,找出K個中心點,而這時候其他點也根據(jù)距離中心點的距離劃分給這個中心點。2,找出每個cluster最優(yōu)的中心點,重新分配點,并迭代。

二:Spark MLlib

    Spark MLlib 提供了K-means算法的實現(xiàn)。

  1. 數(shù)據(jù)來源

    數(shù)據(jù)來源于KDD CUP網(wǎng)站,這些數(shù)據(jù)是網(wǎng)絡(luò)連接的數(shù)據(jù),下載   

找到data -> kddcup.data.zip  并下載。

數(shù)據(jù)每行格式如下:

0,tcp,http,SF,215,45076,
    0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,
    0.00,0.00,0.00,0.00,1.00,0.00,0.00,0,0,0.00,
    0.00,0.00,0.00,0.00,0.00,0.00,0.00,normal.

除了最后一個為label外,其余的都是features。label可能并不準(zhǔn)確,這些label僅僅標(biāo)示能發(fā)現(xiàn)的異常,但是k-means卻能找到未知的異常。

 2.讀取數(shù)據(jù)

    val rawDataPath = "Your kddcup.data.txt Path"
    val rawData = sc.textFile(rawDataPath)

    val labelsAndData = rawData.flatMap { line =>
      val buffer = line.split(',').toBuffer
      if (buffer.length == 42) {
        buffer.remove(1, 3)
        val label = buffer.remove(buffer.length - 1)
        val vector = Vectors.dense(buffer.map(_.toDouble).toArray)
        Some(label, vector)
      } else {
        None
      }
    }

數(shù)據(jù)除掉了第2,3,4列,最后一列數(shù)據(jù)。

 3. K-Means算法

     val kmeans = new KMeans()
      kmeans.setK(k)   //默認(rèn)的K為2
      kmeans.setRuns(10) //找尋中心點運行次數(shù)
      kmeans.setEpsilon(1.0e-6) //找尋中心點每次變化距離,越小越遠(yuǎn)
      val model = kmeans.run(data)

使用生成的model并聚類

val clusterLabelCount = labelsAndData.map { case (label,datum) =>
    val cluster = model.predict(datum)
    (cluster,label)					
}.countByValue
					
clusterLabelCount.toSeq.sorted.foreach {case ((cluster,label),count) =>
println(f"$cluster%1s$label%18s$count%8s")
}

4.如何選擇K

K的選擇是個問題,正常說來,K值越大,聚類的效果越好。想象下,如果每個點都是單獨的一個類。。

另外,我們可以使用其他點距離中心點的距離來查看聚類的效果:

    def distance(a: Vector, b: Vector) = {
      math.sqrt(a.toArray.zip(b.toArray).map(p => p._1 - p._2).map(p => p*p).sum)
    }

    def distToCentroid(datum: Vector, model: KMeansModel) = {
      val cluster = model.predict(datum)
      val centroid = model.clusterCenters(cluster)
      distance(centroid, datum)
    }

    def clusteringScore(data: RDD[Vector], k: Int) = {
      val kmeans = new KMeans()
      kmeans.setK(k)
      kmeans.setRuns(10)
      kmeans.setEpsilon(1.0e-6)
      val model = kmeans.run(data)
      data.map(datum => distToCentroid(datum, model)).mean()
    }

    (30 to 150 by 10 ).map(k => clusteringScore(data,k)).foreach(println)

 有了評估,我們可以依次查看K的大小對聚類的影響。

關(guān)于如何分析K-means Clustering 問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

文章標(biāo)題:如何分析K-meansClustering
標(biāo)題URL:http://chinadenli.net/article22/ppcecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、服務(wù)器托管、商城網(wǎng)站手機(jī)網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
色婷婷久久五月中文字幕| 精品al亚洲麻豆一区| 久久91精品国产亚洲| 91插插插外国一区二区婷婷| 国产亚洲神马午夜福利| 国产精品一级香蕉一区| 国产欧美日本在线播放| 日本中文在线不卡视频| 98精品永久免费视频| 丰满少妇被猛烈插入在线观看| 国产女高清在线看免费观看| 国产又大又黄又粗又免费| 97人妻精品免费一区二区| 国产色偷丝袜麻豆亚洲| 国内精品一区二区欧美| 日韩不卡一区二区视频| 好吊色免费在线观看视频| 最好看的人妻中文字幕| 99久久精品午夜一区二| 91欧美日韩国产在线观看| 久久精品伊人一区二区| 国产性情片一区二区三区| 综合久综合久综合久久| 少妇被粗大进猛进出处故事 | 女厕偷窥一区二区三区在线| 日韩精品中文字幕在线视频| 国产成人精品午夜福利| 亚洲熟妇熟女久久精品 | 国产又猛又大又长又粗| 在线播放欧美精品一区| 狠狠干狠狠操亚洲综合| 在线免费观看黄色美女| 天海翼精品久久中文字幕| 国产成人精品一区二三区在线观看| 亚洲国产成人精品福利| 日本午夜福利视频免费观看| 欧美日韩国产综合在线| 日韩中文无线码在线视频| 久久精视频免费视频观看| 伊人久久青草地综合婷婷| 免费特黄一级一区二区三区|