機器學習函式庫 (MLlib) 指南

MLlib 是 Spark 的機器學習 (ML) 函式庫。其目標是讓實務機器學習可擴充且容易。在高階層級,它提供以下工具:

公告:基於資料框的 API 是主要 API

MLlib 基於 RDD 的 API 現在處於維護模式。

自 Spark 2.0 起,spark.mllib 套件中基於 RDD的 API 已進入維護模式。Spark 的主要機器學習 API 現在是 spark.ml 套件中基於資料框的 API。

這有什麼影響?

為什麼 MLlib 要轉換為基於資料框的 API?

什麼是「Spark ML」?

MLlib 是否已棄用?

依賴項

MLlib 使用線性代數套件 Breezedev.ludovic.netlib 來進行最佳化的數值處理1。這些套件可能會呼叫原生加速程式庫,例如 Intel MKLOpenBLAS,如果這些程式庫可用作系統程式庫或在執行時期程式庫路徑中。

但是,原生加速程式庫無法與 Spark 一起分發。請參閱 MLlib 線性代數加速指南,了解如何啟用加速線性代數處理。如果未啟用加速原生程式庫,您將看到以下警告訊息,並改用純粹的 JVM 實作

WARNING: Failed to load implementation from:dev.ludovic.netlib.blas.JNIBLAS

要在 Python 中使用 MLlib,您需要 1.4 或更新版本的 NumPy

3.0 中的重點

以下清單重點介紹了 Spark 的 3.0 版本中新增到 MLlib 的一些新功能和增強功能

遷移指南

遷移指南現已封存 在此頁面

  1. 若要進一步了解系統最佳化原生語言的優點和背景,您可能希望觀看 Sam Halliday 在 ScalaX 上關於 Scala 中的高效能線性代數 的演講。