PySpark MLlib 概览

使用 PySpark 的大数据基础

Upendra Devisetty

Science Analyst, CyVerse

什么是 PySpark MLlib?

机器学习是一门研究如何构建和研究能从数据中学习的算法的科学学科
  • MLlib 是 Apache Spark 的机器学习组件
  • MLlib 提供的工具包括:

    • 机器学习算法:协同过滤、分类、聚类

    • 特征工程:特征提取、变换、降维与选择

    • 流水线:用于构建、评估和调优 ML 流水线的工具

1 https://en.wikipedia.org/wiki/Machine_learning
使用 PySpark 的大数据基础

为何使用 PySpark MLlib?

  • Scikit-learn 是流行的 Python 数据挖掘与机器学习库

  • Scikit-learn 算法仅适用于单机上的小型数据集

  • Spark 的 MLlib 算法面向集群并行计算设计

  • 支持 Scala、Java、R 等语言

  • 提供用于构建机器学习流水线的高级 API

使用 PySpark 的大数据基础

PySpark MLlib 算法

  • 分类(二分类与多分类)与回归:线性 SVM、逻辑回归、决策树、随机森林、梯度提升树、朴素贝叶斯、最小二乘、Lasso、Ridge、保序回归

  • 协同过滤:交替最小二乘(ALS)

  • 聚类:K-means、高斯混合、二分 K-means、流式 K-means

使用 PySpark 的大数据基础

PySpark MLlib 的"三个 C"

  • 协同过滤(推荐引擎):生成推荐

  • 分类:判定新观测属于哪个类别

  • 聚类:按相似特征分组数据

使用 PySpark 的大数据基础

PySpark MLlib 导入

  • 协同过滤
from pyspark.mllib.recommendation import ALS
  • 分类
from pyspark.mllib.classification import LogisticRegressionWithLBFGS
  • 聚类
from pyspark.mllib.clustering import KMeans
使用 PySpark 的大数据基础

Vamos praticar!

使用 PySpark 的大数据基础

Preparing Video For Download...