返回首页
当前位置: 主页 > 编程语言 > Python教程 >

PySpark-MLlib

时间:2020-03-31 10:33来源:电脑教程学习网 www.etwiki.cn 编辑:小山哥

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
------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • PySpark-MLlib

    Apache Spark提供了一个称为 MLlib 的机器学习API 。 PySpark也具有Python的这种机器...

  • PySpark-SparkFiles

    在Apache Spark中,可以使用 sc.addFile (sc是默认的SparkContext) 上载文件,并使...

  • PySpark-SparkContext

    SparkContext是任何Spark功能的入口点。 当我们运行任何Spark应用程序时,将启动一个...

  • PySpark-简介

    在本章中,我们将熟悉Apache Spark是什么以及PySpark是如何开发的。 Spark 概述 Apach...

  • PySpark教程

    Apache Spark用Scala编程语言编写。 为了通过Spark支持Python,Apache Spark社区发布...

  • 基于日志的工件调查

    到目前为止,我们已经看到了如何使用Python在Windows中获取工件。 在本章中,让我们学...

猜你感兴趣