Spark之K 均值演算法中的一些問題

2021-10-02 11:54:25 字數 1214 閱讀 9016

spark之k-均值演算法中的一些問題

今天看了乙個千人千面推薦系統的公開課,原理上來說並不難,主要是使用k均值演算法,在之前學過了spark下k均值演算法之後,便嘗試使用k均值演算法去模擬簡單的千人千面推薦系統,以後有時間在慢慢研究使用者畫像

資料資料由使用者id,該使用者訪問19個**的次數組成,如下所示

1,83,92,72,62,71,0,49,0,10,0,0,0,0,26,84,0,3,0,0

2,81,91,71,61,71,0,0,6,39,3,0,0,0,0,107,1,107,4,0

3,84,92,74,62,122,123,0,63,42,0,0,0,1,81,0,0,0,0,0

4,82,92,72,62,9,0,0,0,11,0,0,0,62,62,0,0,0,0,33

5,81,91,71,61,167,0,25,0,114,0,0,0,0,0,167,0,0,0,0

6,82,92,72,115,134,3,0,0,62,0,0,167,0,0,169,0,0,0,0

7,83,93,73,63,46,0,0,0,43,0,10,0,0,0,27,0,5,0,0

8,82,92,72,62,49,0,0,0,44,0,0,0,0,0,75,0,3,0,0

資料總共兩萬條

完整**

import org.apache.spark.

import org.apache.spark.mllib.clustering.kmeans

import org.apache.spark.mllib.linalg.vectors

object justtest

vectors.dense(ned.map(_.todouble))

}).cache()

val model=kmeans.train(parseddata,k,iterations,kmeans.k_means_parallel)

//k個簇心

println("cluster centers: ")

model.clustercenters.foreach(println)

val cost=model.computecost(parseddata)

print(s"cost :$")

sc.stop()

}}

執行成功,得出k個簇心

完整資料集就不上傳了(不會上傳qaq)

Spark中的一些概念

一次action操作會觸發rdd的延遲計算,我們把這樣的一次計算稱作乙個job。窄依賴指的是 每個parent rdd 的 partition 最多被 child rdd的乙個partition使用 寬依賴指的是 每個parent rdd 的 partition 被多個 child rdd的part...

記錄一些spark快取中的方法

此為使用者自己選擇釋放需要的已經快取的rdd。def unpersistunuse rddstring set string sc sparkcontext 針對多個sp序列跑,其中採用多個sp之間進行重新new sparkcontext和sc.stop進行,否則中間許多快取問題無法解決,始終會有記...

k均值例子 資料探勘 資料探勘比賽的一些經驗心得

資料去噪 無論是資料探勘的比賽也好,還是日常生活中的各種專案也好,我們拿到手的資料集含有雜訊資料是很正常的。雜訊會降低我們的資料質量,從而影響我們模型的效果。因此,對雜訊的處理是必須的,這一點是眾所周知的事情。但是,在去噪的過程中我們也要注意以下問題。在我們這些天做的乙個比賽上,乙個隊友,拿著沒有好...