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