Tổng quan về PySpark MLlib

Nền tảng Big Data với PySpark

Upendra Devisetty

Science Analyst, CyVerse

PySpark MLlib là gì?

Học máy là một ngành nghiên cứu khoa học về xây dựng và
khảo sát các thuật toán có thể học từ dữ liệu
  • MLlib là một thành phần của Apache Spark dành cho học máy

  • MLlib cung cấp các công cụ gồm:

    • Thuật toán ML: lọc cộng tác, phân loại, phân cụm

    • Tạo đặc trưng: trích xuất, biến đổi, giảm chiều, chọn đặc trưng

    • Pipelines: công cụ xây dựng, đánh giá và tinh chỉnh Pipeline ML

1 https://en.wikipedia.org/wiki/Machine_learning
Nền tảng Big Data với PySpark

Vì sao dùng PySpark MLlib?

  • Scikit-learn là thư viện Python phổ biến cho khai phá dữ liệu và học máy

  • Thuật toán scikit-learn chỉ phù hợp tập dữ liệu nhỏ trên một máy đơn

  • Thuật toán MLlib của Spark được thiết kế để xử lý song song trên cụm

  • Hỗ trợ các ngôn ngữ như Scala, Java và R

  • Cung cấp API cấp cao để xây dựng pipeline học máy

Nền tảng Big Data với PySpark

Thuật toán PySpark MLlib

  • Phân loại (nhị phân, đa lớp) và hồi quy: SVM tuyến tính, hồi quy logistic, cây quyết định, rừng ngẫu nhiên, cây tăng cường dốc, Naive Bayes, bình phương tối thiểu tuyến tính, Lasso, ridge, hồi quy đẳng hướng

  • Lọc cộng tác: Alternating Least Squares (ALS)

  • Phân cụm: K-means, hỗn hợp Gaussian, Bisecting K-means, Streaming K-Means

Nền tảng Big Data với PySpark

Ba chữ C của học máy trong PySpark MLlib

  • Lọc cộng tác (gợi ý): Tạo khuyến nghị

  • Phân loại: Xác định hạng mục của quan sát mới

  • Phân cụm: Gom nhóm dữ liệu theo đặc điểm tương đồng

Nền tảng Big Data với PySpark

Nhập khẩu PySpark MLlib

  • Lọc cộng tác
from pyspark.mllib.recommendation import ALS
  • Phân loại
from pyspark.mllib.classification import LogisticRegressionWithLBFGS
  • Phân cụm
from pyspark.mllib.clustering import KMeans
Nền tảng Big Data với PySpark

Let's practice

Nền tảng Big Data với PySpark

Preparing Video For Download...