Scikit Learn - 簡介



在本章中,我們將瞭解什麼是 Scikit-Learn 或 Sklearn,Scikit-Learn 的起源以及其他相關主題,例如負責 Scikit-Learn 開發和維護的社群和貢獻者、其先決條件、安裝及其功能。

什麼是 Scikit-Learn (Sklearn)

Scikit-learn (Sklearn) 是 Python 中最有用和強大的機器學習庫。它提供了一系列高效的機器學習和統計建模工具,包括分類、迴歸、聚類和降維,透過 Python 中的一致性介面實現。這個庫主要用 Python 編寫,建立在NumPy、SciPyMatplotlib 之上。

Scikit-Learn 的起源

它最初被稱為scikits.learn,並於 2007 年由 David Cournapeau 作為 Google Summer of Code 專案開發。後來,在 2010 年,來自 FIRCA(法國計算機科學與自動化研究所)的 Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort 和 Vincent Michel 將該專案提升到另一個高度,並在 2010 年 2 月 1 日釋出了第一個公開版本(v0.1 beta)。

讓我們看看它的版本歷史 -

  • 2019 年 5 月:scikit-learn 0.21.0

  • 2019 年 3 月:scikit-learn 0.20.3

  • 2018 年 12 月:scikit-learn 0.20.2

  • 2018 年 11 月:scikit-learn 0.20.1

  • 2018 年 9 月:scikit-learn 0.20.0

  • 2018 年 7 月:scikit-learn 0.19.2

  • 2017 年 7 月:scikit-learn 0.19.0

  • 2016 年 9 月. scikit-learn 0.18.0

  • 2015 年 11 月. scikit-learn 0.17.0

  • 2015 年 3 月. scikit-learn 0.16.0

  • 2014 年 7 月. scikit-learn 0.15.0

  • 2013 年 8 月. scikit-learn 0.14

社群與貢獻者

Scikit-learn 是一項社群努力,任何人都可以為其做出貢獻。該專案託管在 https://github.com/scikit-learn/scikit-learn。 以下人員目前是 Sklearn 開發和維護的核心貢獻者 -

  • Joris Van den Bossche(資料科學家)

  • Thomas J Fan(軟體開發人員)

  • Alexandre Gramfort(機器學習研究員)

  • Olivier Grisel(機器學習專家)

  • Nicolas Hug(助理研究科學家)

  • Andreas Mueller(機器學習科學家)

  • Hanmin Qin(軟體工程師)

  • Adrin Jalali(開源開發者)

  • Nelle Varoquaux(資料科學研究員)

  • Roman Yurchak(資料科學家)

Booking.com、摩根大通、Evernote、Inria、AWeber、Spotify 等眾多組織都在使用 Sklearn。

先決條件

在我們開始使用 scikit-learn 最新版本之前,我們需要以下內容 -

  • Python (>=3.5)

  • NumPy (>= 1.11.0)

  • Scipy (>= 0.17.0)

  • Joblib (>= 0.11)

  • Matplotlib (>= 1.5.1) 是 Sklearn 繪圖功能所必需的。

  • Pandas (>= 0.18.0) 是某些使用資料結構和分析的 scikit-learn 示例所必需的。

安裝

如果您已經安裝了 NumPy 和 Scipy,以下兩種方法是最簡單的安裝 scikit-learn 的方法 -

使用 pip

可以使用以下命令透過 pip 安裝 scikit-learn -

pip install -U scikit-learn

使用 conda

可以使用以下命令透過 conda 安裝 scikit-learn -

conda install scikit-learn

另一方面,如果您的 Python 工作站上尚未安裝 NumPy 和 Scipy,則可以使用pipconda 安裝它們。

使用 scikit-learn 的另一種方法是使用CanopyAnaconda 等 Python 發行版,因為它們都附帶了 scikit-learn 的最新版本。

功能

Scikit-learn 庫側重於對資料進行建模,而不是側重於載入、處理和彙總資料。Sklearn 提供的一些最受歡迎的模型組如下 -

監督學習演算法 - 幾乎所有流行的監督學習演算法,如線性迴歸、支援向量機 (SVM)、決策樹等,都是 scikit-learn 的一部分。

無監督學習演算法 - 另一方面,它還包含從聚類、因子分析、PCA(主成分分析)到無監督神經網路的所有流行的無監督學習演算法。

聚類 - 此模型用於對未標記資料進行分組。

交叉驗證 - 用於檢查監督模型在未見過的資料上的準確性。

降維 - 用於減少資料中屬性的數量,可進一步用於彙總、視覺化和特徵選擇。

整合方法 - 顧名思義,它用於組合多個監督模型的預測。

特徵提取 - 用於從資料中提取特徵以定義影像和文字資料中的屬性。

特徵選擇 - 用於識別有用的屬性以建立監督模型。

開源 - 它是一個開源庫,並且可以在 BSD 許可下進行商業使用。

廣告

© . All rights reserved.