您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“spark mlilib 聚類 KMeans怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“spark mlilib 聚類 KMeans怎么用”這篇文章吧。
數據聚類是對于靜態數據分析的一門技術,在許多領域內都被廣泛地應用,包括機器學習、數據挖掘、模式識別、圖像分析、信息檢索以及生物信息等
package spark.clustering import org.apache.spark.mllib.clustering.KMeans import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.{SparkContext, SparkConf} /** * 一般來說,分類是指有監督的學習,即要分類的樣本是有標記的,類別是已知的; * 聚類是指無監督的學習,樣本沒有標記,根據某種相似度度量,將樣本聚為 K類. * * 聚類KMEANS * 基本思想和核心內容就是在算法開始時隨機給定若干(k)個中心,按照距離原則將樣本點分配到各個中心點, * 之后按照平均法計算聚類集的中心點位置,從而重新確定新的中心點位置.這樣不斷地迭代下去直至聚類集內的樣本滿足一定的閾值為止. * * Created by eric on 16-7-21. */ object Kmeans { val conf = new SparkConf() //創建環境變量 .setMaster("local") //設置本地化處理 .setAppName("KMeans") //設定名稱 val sc = new SparkContext(conf) def main(args: Array[String]) { val data = sc.textFile("./src/main/spark/clustering/kmeans.txt") val parsedData = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble))) .cache() val numClusters = 2 //最大分類數 val numIterations = 20 //迭代次數 val model = KMeans.train(parsedData, numClusters, numIterations) model.clusterCenters.foreach(println)//分類中心點 //[1.4000000000000001,2.0] //[3.6666666666666665,3.6666666666666665] } }
1 2 1 1 1 3 2 2 3 4 4 3 2 2 4 4
以上是“spark mlilib 聚類 KMeans怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。