學習進度筆記26
分類演算法
分類演算法屬於監督式學習,使用類標籤已知的樣本建立乙個分類函式或分類模型,應用分類模型,能把資料庫中的類標籤未知的資料進行歸類。分類在資料探勘中是一項重要的任務,目前在商業上應用最多,常見的典型應用場景有流失**、精確營銷、客戶獲取、個性偏好等。mllib 目前支援分類演算法有:邏輯回歸、支援向量機、樸素貝葉斯和決策樹。
import org.apache.spark.sparkcontext
import org.apache.spark.mllib.classification.svmwithsgd
import org.apache.spark.mllib.regression.labeledpoint
// 載入和解析資料檔案
val data = sc.textfile("mllib/data/sample_svm_data.txt")
val parseddata = data.map .reduce(_ + _)/valuesandpreds.count
println("training mean squared error = " + mse)
聚類演算法
聚類演算法屬於非監督式學習,通常被用於探索性的分析,是根據「物以類聚」的原理,將本身沒有類別的樣本聚集成不同的組,這樣的一組資料物件的集合叫做簇,並且對每乙個這樣的簇進行描述的過程。它的目的是使得屬於同一簇的樣本之間應該彼此相似,而不同簇的樣本應該足夠不相似,常見的典型應用場景有客戶細分、客戶研究、市場細分、價值評估。mllib 目前支援廣泛使用的kmmeans聚類演算法。
import org.apache.spark.mllib.clustering.kmeans
// 載入和解析資料檔案
val data = sc.textfile("kmeans_data.txt")
val parseddata = data.map( _.split(' ').map(_.todouble))
// 設定迭代次數、類簇的個數
val numiterations = 20
val numclusters = 2
// 進行訓練
val clusters = kmeans.train(parseddata, numclusters, numiterations)
// 統計聚類錯誤的樣本比例
val wssse = clusters.computecost(parseddata)
println("within set sum of squared errors = " + wssse)
協同過濾
協同過濾常被應用於推薦系統,這些技術旨在補充使用者-商品關聯矩陣中所缺失的部分。mllib當前支援基於模型的協同過濾,其中使用者和商品通過一小組隱語義因子進行表達,並且這些因子也用於**缺失的元素。
import org.apache.spark.mllib.recommendation.als
import org.apache.spark.mllib.recommendation.rating
// 載入和解析資料檔案
val data = sc.textfile("mllib/data/als/test.data")
val ratings = data.map(_.split(',') match
val predictions = model.predict(usersproducts).map.join(predictions)
val mse = ratesandpreds.map.reduce(_ + _)/ratesandpreds.count
println("mean squared error = " + mse)
學習進度筆記
學習進度筆記24 讀取檔案演示 import org.apache.spark.sparkconf import org.apache.spark.streaming.import org.apache.spark.streaming.streamingcontext.object fileword...
學習進度筆記
學習進度筆記16 scala語言學習 object testmap def ttt f int int unit val r f 10 println r val f0 x int x x 定義了乙個方法 def m0 x int int 傳遞進來的引數乘以10 x 10 將方法轉換成函式,利用了神...
學習進度筆記
學習進度筆記03 今天學習了python的檔案讀寫 io在計算機中指input output,也就是輸入和輸出。由於程式和執行時資料是在記憶體中駐留,由cpu這個超快的計算核心來執行,涉及到資料交換的地方,通常是磁碟 網路等,就需要io介面。由於cpu和記憶體的速度遠遠高於外設的速度,所以,在io程...