作為一個適用于 Python 編程語言的機器學習 (ML) 庫,Scikit-learn 擁有大量算法,可供程序員和數據科學家在機器學習模型中輕松部署。
什么是 Scikit-learn?
Scikit-learn 是一個熱門且可靠的機器學習庫,擁有各種算法,同時也是用于 ML 可視化、預處理、模型擬合、選擇和評估的工具。
Scikit-learn 基于 NumPy、SciPy 和 matplotlib 構建,并具有大量用于分類、回歸和集群的高效算法。其中包括支持向量機、隨機森林、梯度提升、k-means 和 DBSCAN。
Scikit-learn 擁有一致且設計高效的 API、適用于大多數算法的豐富文檔以及大量在線教程,因此相對易于開發。
當前版本可用于 Linux、MacOS 和 Windows 等熱門平臺。
為何選擇 Scikit-learn?
得益于其相對易于使用、且設計周到又充滿熱情的社區,Scikit-learn API 已成為機器學習實施的實際標準。
Scikit-learn 為 ML 模型構建、擬合及評估提供了以下模塊:
預處理是指 Scikit-learn 工具,這些工具可用于數據分析期間的特征提取和歸一化。
分類是指一組工具,這組工具可識別機器學習模型中與數據相關的類別。例如,這些工具還可用于將電子郵件分類為有效郵件或垃圾郵件。實際上,分類可確定目標所屬的類別。
回歸是指 ML 模型的創建,該模型試圖理解輸入和輸出數據(例如行為或股票價格)之間的關系。回歸可預測與目標關聯的連續值屬性。
Scikit-learn 中的聚類工具自動將具有相似特征的數據以集的形式進行分組,例如根據物理位置排列成集的客戶數據。
降維可減少用于分析的隨機變量數量。例如,為了提升可視化的效率,可能會將離散數據排除在外。
模型選擇是指算法及其提供相應工具的能力,并且這些工具能夠比較、驗證和選擇最佳參數,以將其用于數據科學機器學習項目。
流程是指用于構建模型工作流程的實用程序。
機器學習可視化可支持快速繪圖和視覺調整。
Scikit-learn 的工作原理
Scikit-learn 主要采用 Python 編寫,并使用 NumPy 進行高性能線性代數以及數組運算。一些核心 Scikit-learn 算法則采用 Cython 編寫,以提升整體性能。
作為更高級別的庫,它包含各種機器學習算法的幾種實施,Scikit-learn 讓用戶僅使用幾行代碼即可構建、訓練和評估模型。
Scikit-learn 還提供一套統一的高級別 API,以供構建 ML 流程或工作流程使用。
在 Scikit-learn ML 流程中,您可以通過轉換器傳遞數據并提取特征,使用估測器生成模型,并使用評估器測量模型的準確性。
Transformer:這是一種轉換或輸入數據,以進行預處理的算法。
Estimator:這是一種機器學習算法,用于訓練或擬合數據,以構建可用于預測的模型。
流程:流程將多個轉換器和估測器相連接,從而指定 ML 工作流程。
GPU 加速的 Scikit-learn API 和端到端數據科學
在架構方面,CPU 僅由幾個具有大緩存內存的核心組成,一次只可以處理幾個軟件線程。相比之下,GPU 由數百個核心組成,可以同時處理數千個線程。
基于 CUDA-X AI 創建的 NVIDIA RAPIDS 開源軟件庫套件使您完全能夠在 GPU 上執行端到端數據科學和分析流程。此套件依靠 NVIDIA CUDA 基元進行低級別計算優化,但通過用戶友好型 Python 接口能夠實現 GPU 并行化和高帶寬顯存速度。
RAPIDS cuML 的機器學習算法和數學基元遵循熟悉的類似于 scikit-learn 的 API。單塊 GPU 和大型數據中心部署均支持 XGBoost、隨機森林等主流算法。針對大型數據集,相較于同等功效的 CPU,這些基于 GPU 的實施方案能夠以 10 到 50 倍的速度更快地完成任務。
借助 RAPIDS GPU DataFrame,數據可以通過一個類似 Pandas 的接口加載到 GPU 上,然后用于各種連接的機器學習和圖形分析算法,而無需離開 GPU。這種級別的互操作性可通過 Apache Arrow 等庫實現,并且可加速端到端流程(從數據準備到機器學習,再到深度學習)。
RAPIDS 支持在許多熱門數據科學庫之間共享設備內存。這樣可將數據保留在 GPU 上,并省去了來回復制主機內存的高昂成本。
審核編輯:湯梓紅
-
NVIDIA
+關注
關注
14文章
4985瀏覽量
103032 -
機器學習
+關注
關注
66文章
8416瀏覽量
132616 -
python
+關注
關注
56文章
4796瀏覽量
84664
原文標題:NVIDIA 大講堂 | 什么是 Scikit-learn?
文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論