這篇文章主要為大家展示了“spark mlilib 聚類 KMeans怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“spark mlilib 聚類 KMeans怎么用”這篇文章吧。
創(chuàng)新互聯(lián)主打移動(dòng)網(wǎng)站、做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、國際域名空間、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。
數(shù)據(jù)聚類是對于靜態(tài)數(shù)據(jù)分析的一門技術(shù),在許多領(lǐng)域內(nèi)都被廣泛地應(yīng)用,包括機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、模式識(shí)別、圖像分析、信息檢索以及生物信息等
package spark.clustering import org.apache.spark.mllib.clustering.KMeans import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.{SparkContext, SparkConf} /** * 一般來說,分類是指有監(jiān)督的學(xué)習(xí),即要分類的樣本是有標(biāo)記的,類別是已知的; * 聚類是指無監(jiān)督的學(xué)習(xí),樣本沒有標(biāo)記,根據(jù)某種相似度度量,將樣本聚為 K類. * * 聚類KMEANS * 基本思想和核心內(nèi)容就是在算法開始時(shí)隨機(jī)給定若干(k)個(gè)中心,按照距離原則將樣本點(diǎn)分配到各個(gè)中心點(diǎn), * 之后按照平均法計(jì)算聚類集的中心點(diǎn)位置,從而重新確定新的中心點(diǎn)位置.這樣不斷地迭代下去直至聚類集內(nèi)的樣本滿足一定的閾值為止. * * Created by eric on 16-7-21. */ object Kmeans { val conf = new SparkConf() //創(chuàng)建環(huán)境變量 .setMaster("local") //設(shè)置本地化處理 .setAppName("KMeans") //設(shè)定名稱 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 //最大分類數(shù) val numIterations = 20 //迭代次數(shù) val model = KMeans.train(parsedData, numClusters, numIterations) model.clusterCenters.foreach(println)//分類中心點(diǎn) //[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怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!