自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何將Scikit-learn Python庫用于數(shù)據(jù)科學項目

開發(fā) 后端 機器學習
靈活多樣的 Python 庫為數(shù)據(jù)分析和數(shù)據(jù)挖掘提供了強力的機器學習工具。Scikit-learn Python 庫最初于 2007 年發(fā)布,通常用于解決各種方面的機器學習和數(shù)據(jù)科學問題。這個多種功能的庫提供了整潔、一致、高效的 API 和全面的在線文檔。

[[246038]]

靈活多樣的 Python 庫為數(shù)據(jù)分析和數(shù)據(jù)挖掘提供了強力的機器學習工具。

Scikit-learn Python 庫最初于 2007 年發(fā)布,通常用于解決各種方面的機器學習和數(shù)據(jù)科學問題。這個多種功能的庫提供了整潔、一致、高效的 API 和全面的在線文檔。

什么是 Scikit-learn?

Scikit-learn 是一個開源 Python 庫,擁有強大的數(shù)據(jù)分析和數(shù)據(jù)挖掘工具。 在 BSD 許可下可用,并建立在以下機器學習庫上:

  • NumPy,一個用于操作多維數(shù)組和矩陣的庫。它還具有廣泛的數(shù)學函數(shù)匯集,可用于執(zhí)行各種計算。
  • SciPy,一個由各種庫組成的生態(tài)系統(tǒng),用于完成技術計算任務。
  • Matplotlib,一個用于繪制各種圖表和圖形的庫。

Scikit-learn 提供了廣泛的內置算法,可以充分用于數(shù)據(jù)科學項目。

以下是使用 Scikit-learn 庫的主要方法。

1、分類

分類工具識別與提供的數(shù)據(jù)相關聯(lián)的類別。例如,它們可用于將電子郵件分類為垃圾郵件或非垃圾郵件。

Scikit-learn 中的分類算法包括:

  • 支持向量機Support vector machines(SVM)
  • 最鄰近Nearest neighbors
  • 隨機森林Random forest

2、回歸

回歸涉及到創(chuàng)建一個模型去試圖理解輸入和輸出數(shù)據(jù)之間的關系。例如,回歸工具可用于理解股票價格的行為。

回歸算法包括:

  • 支持向量機Support vector machines(SVM)
  • 嶺回歸Ridge regression
  • Lasso(LCTT 譯注:Lasso 即 least absolute shrinkage and selection operator,又譯為最小絕對值收斂和選擇算子、套索算法)

3、聚類

Scikit-learn 聚類工具用于自動將具有相同特征的數(shù)據(jù)分組。 例如,可以根據(jù)客戶數(shù)據(jù)的地點對客戶數(shù)據(jù)進行細分。

聚類算法包括:

  • K-means
  • 譜聚類Spectral clustering
  • Mean-shift

4、降維

降維降低了用于分析的隨機變量的數(shù)量。例如,為了提高可視化效率,可能不會考慮外圍數(shù)據(jù)。

降維算法包括:

  • 主成分分析Principal component analysis(PCA)
  • 功能選擇Feature selection
  • 非負矩陣分解Non-negative matrix factorization

5、模型選擇

模型選擇算法提供了用于比較、驗證和選擇要在數(shù)據(jù)科學項目中使用的***參數(shù)和模型的工具。

通過參數(shù)調整能夠增強精度的模型選擇模塊包括:

  • 網(wǎng)格搜索Grid search
  • 交叉驗證Cross-validation
  • 指標Metrics

6、預處理

Scikit-learn 預處理工具在數(shù)據(jù)分析期間的特征提取和規(guī)范化中非常重要。 例如,您可以使用這些工具轉換輸入數(shù)據(jù)(如文本)并在分析中應用其特征。

預處理模塊包括:

  • 預處理
  • 特征提取

Scikit-learn 庫示例

讓我們用一個簡單的例子來說明如何在數(shù)據(jù)科學項目中使用 Scikit-learn 庫。

我們將使用鳶尾花花卉數(shù)據(jù)集,該數(shù)據(jù)集包含在 Scikit-learn 庫中。 鳶尾花數(shù)據(jù)集包含有關三種花種的 150 個細節(jié),三種花種分別為:

  • Setosa:標記為 0
  • Versicolor:標記為 1
  • Virginica:標記為 2

數(shù)據(jù)集包括每種花種的以下特征(以厘米為單位):

  • 萼片長度
  • 萼片寬度
  • 花瓣長度
  • 花瓣寬度

第 1 步:導入庫

由于鳶尾花花卉數(shù)據(jù)集包含在 Scikit-learn 數(shù)據(jù)科學庫中,我們可以將其加載到我們的工作區(qū)中,如下所示:

  1. from sklearn import datasets
  2. iris = datasets.load_iris()

這些命令從 sklearn 導入數(shù)據(jù)集 datasets 模塊,然后使用 datasets 中的 load_iris() 方法將數(shù)據(jù)包含在工作空間中。

第 2 步:獲取數(shù)據(jù)集特征

數(shù)據(jù)集 datasets 模塊包含幾種方法,使您更容易熟悉處理數(shù)據(jù)。

在 Scikit-learn 中,數(shù)據(jù)集指的是類似字典的對象,其中包含有關數(shù)據(jù)的所有詳細信息。 使用 .data 鍵存儲數(shù)據(jù),該數(shù)據(jù)列是一個數(shù)組列表。

例如,我們可以利用 iris.data 輸出有關鳶尾花花卉數(shù)據(jù)集的信息。

  1. print(iris.data)

這是輸出(結果已被截斷):

  1. [[5.1 3.5 1.4 0.2]
  2.  [4.9 3.  1.4 0.2]
  3.  [4.7 3.2 1.3 0.2]
  4.  [4.6 3.1 1.5 0.2]
  5.  [5.  3.6 1.4 0.2]
  6.  [5.4 3.9 1.7 0.4]
  7.  [4.6 3.4 1.4 0.3]
  8.  [5.  3.4 1.5 0.2]
  9.  [4.4 2.9 1.4 0.2]
  10.  [4.9 3.1 1.5 0.1]
  11.  [5.4 3.7 1.5 0.2]
  12.  [4.8 3.4 1.6 0.2]
  13.  [4.8 3.  1.4 0.1]
  14.  [4.3 3.  1.1 0.1]
  15.  [5.8 4.  1.2 0.2]
  16.  [5.7 4.4 1.5 0.4]
  17.  [5.4 3.9 1.3 0.4]
  18.  [5.1 3.5 1.4 0.3]

我們還使用 iris.target 向我們提供有關花朵不同標簽的信息。

  1. print(iris.target)

這是輸出:

  1. [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  2.  0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  3.  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
  4.  2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
  5.  2 2]

如果我們使用 iris.target_names,我們將輸出數(shù)據(jù)集中找到的標簽名稱的數(shù)組。

  1. print(iris.target_names)

以下是運行 Python 代碼后的結果:

  1. ['setosa' 'versicolor' 'virginica']

第 3 步:可視化數(shù)據(jù)集

我們可以使用箱形圖來生成鳶尾花數(shù)據(jù)集的視覺描繪。 箱形圖說明了數(shù)據(jù)如何通過四分位數(shù)在平面上分布的。

以下是如何實現(xiàn)這一目標:

  1. import seaborn as sns
  2. box_data = iris.data # 表示數(shù)據(jù)數(shù)組的變量
  3. box_target = iris.target # 表示標簽數(shù)組的變量
  4. sns.boxplot(data = box_data,width=0.5,fliersize=5)
  5. sns.set(rc={'figure.figsize':(2,15)})

讓我們看看結果:

在橫軸上:

  • 0 是萼片長度
  • 1 是萼片寬度
  • 2 是花瓣長度
  • 3 是花瓣寬度

垂直軸的尺寸以厘米為單位。

總結

以下是這個簡單的 Scikit-learn 數(shù)據(jù)科學教程的完整代碼。

  1. from sklearn import datasets
  2. iris = datasets.load_iris()
  3. print(iris.data)
  4. print(iris.target)
  5. print(iris.target_names)
  6. import seaborn as sns
  7. box_data = iris.data # 表示數(shù)據(jù)數(shù)組的變量
  8. box_target = iris.target # 表示標簽數(shù)組的變量
  9. sns.boxplot(data = box_data,width=0.5,fliersize=5)
  10. sns.set(rc={'figure.figsize':(2,15)})

Scikit-learn 是一個多功能的 Python 庫,可用于高效完成數(shù)據(jù)科學項目。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-02-17 12:07:45

ChatGPTPython

2017-11-03 12:57:06

機器學習文本數(shù)據(jù)Python

2015-07-22 16:16:47

PythonScikit-Lear機器學習

2021-05-12 09:58:09

PythonXGBoostscikit-lear

2018-09-06 08:00:00

深度學習TensorFlowPython

2023-05-26 12:45:22

predict?方法數(shù)據(jù)

2018-04-06 05:10:04

K-NN數(shù)據(jù)集算法

2023-02-13 15:00:13

機器學習scikit-leaPyTorch

2023-11-13 18:05:53

處理數(shù)據(jù)搭建模型

2017-07-20 10:23:20

pythonscikit-lear垃圾郵件過濾

2018-05-15 08:27:20

Scikit-lear機器學習Python

2016-12-18 15:03:57

Python Scikit Lea數(shù)據(jù)

2016-12-20 16:07:13

Python數(shù)據(jù)預處理

2020-05-15 10:22:07

Python開發(fā)工具

2017-01-05 10:07:33

大數(shù)據(jù)TheanoCaffe

2024-02-01 09:43:32

模型人工智能

2022-04-15 10:11:03

機器學習scikit-lea

2017-04-21 09:59:11

開源機器學習框架

2018-09-18 23:25:49

Python數(shù)據(jù)科學

2015-08-25 09:17:30

點贊
收藏

51CTO技術棧公眾號