
- PySpark 教程
- PySpark - 首頁
- PySpark - 簡介
- PySpark - 環境搭建
- PySpark - SparkContext
- PySpark - RDD
- PySpark - 廣播變數 & 累加器
- PySpark - SparkConf
- PySpark - SparkFiles
- PySpark - StorageLevel
- PySpark - MLlib
- PySpark - 序列化器
- PySpark 有用資源
- PySpark - 快速指南
- PySpark - 有用資源
- PySpark - 討論
PySpark - MLlib
Apache Spark 提供了一個名為MLlib的機器學習 API。PySpark 也具有此 Python 機器學習 API。它支援多種演算法,如下所述:
mllib.classification − spark.mllib 包支援各種二元分類、多類分類和迴歸分析方法。分類中一些最流行的演算法是隨機森林、樸素貝葉斯、決策樹等。
mllib.clustering − 聚類是一種無監督學習問題,您旨在根據某種相似性概念將實體的子集相互分組。
mllib.fpm − 頻繁模式匹配正在挖掘頻繁項、項集、子序列或其他子結構,這些通常是分析大型資料集的第一步。多年來,這一直是資料探勘領域的一個活躍研究課題。
mllib.linalg − MLlib 用於線性代數的實用程式。
mllib.recommendation − 協同過濾通常用於推薦系統。這些技術旨在填充使用者專案關聯矩陣的缺失條目。
spark.mllib − 它目前支援基於模型的協同過濾,其中使用者和產品由一小組潛在因素來描述,這些因素可用於預測缺失的條目。spark.mllib 使用交替最小二乘法 (ALS) 演算法來學習這些潛在因素。
mllib.regression − 線性迴歸屬於迴歸演算法家族。迴歸的目標是尋找變數之間的關係和依賴性。用於處理線性迴歸模型和模型摘要的介面與邏輯迴歸的情況類似。
mllib 包中還有其他演算法、類和函式。目前,讓我們瞭解一下pyspark.mllib 的演示。
以下示例使用 ALS 演算法進行協同過濾,以構建推薦模型並在訓練資料上對其進行評估。
所用資料集 − test.data
1,1,5.0 1,2,1.0 1,3,5.0 1,4,1.0 2,1,5.0 2,2,1.0 2,3,5.0 2,4,1.0 3,1,1.0 3,2,5.0 3,3,1.0 3,4,5.0 4,1,1.0 4,2,5.0 4,3,1.0 4,4,5.0
--------------------------------------recommend.py---------------------------------------- from __future__ import print_function from pyspark import SparkContext from pyspark.mllib.recommendation import ALS, MatrixFactorizationModel, Rating if __name__ == "__main__": sc = SparkContext(appName="Pspark mllib Example") data = sc.textFile("test.data") ratings = data.map(lambda l: l.split(','))\ .map(lambda l: Rating(int(l[0]), int(l[1]), float(l[2]))) # Build the recommendation model using Alternating Least Squares rank = 10 numIterations = 10 model = ALS.train(ratings, rank, numIterations) # Evaluate the model on training data testdata = ratings.map(lambda p: (p[0], p[1])) predictions = model.predictAll(testdata).map(lambda r: ((r[0], r[1]), r[2])) ratesAndPreds = ratings.map(lambda r: ((r[0], r[1]), r[2])).join(predictions) MSE = ratesAndPreds.map(lambda r: (r[1][0] - r[1][1])**2).mean() print("Mean Squared Error = " + str(MSE)) # Save and load model model.save(sc, "target/tmp/myCollaborativeFilter") sameModel = MatrixFactorizationModel.load(sc, "target/tmp/myCollaborativeFilter") --------------------------------------recommend.py----------------------------------------
命令 − 命令如下:
$SPARK_HOME/bin/spark-submit recommend.py
輸出 − 以上命令的輸出將是:
Mean Squared Error = 1.20536041839e-05
廣告