什麼是 Sklearn 指標以及為什麼需要了解它們?

已發表: 2021-10-22

Python 是全球開發人員最常用的編程語言之一。 它的數據自動化和算法能力使其成為構建和訓練程序、機器和基於計算機的系統以及進行預測的理想選擇。 因此,具有 Python 技能的候選人越來越受到機器學習和數據科學等利潤豐厚的職業道路的青睞。

如果您是初學者,自己尋找合適的工具可能會讓人望而生畏。 像 Scikit-learn 這樣的免費軟件可以讓您輕鬆掌握相關技能。 機器學習庫為 Python 程序員提供了多種分類、回歸和聚類算法。

本博客將特別關注分類問題和 sklearn 指標,以指導您的學習之旅。 您將了解評估指標的應用,並了解其背後的數學原理。

目錄

Scikit-Learn 中的分類指標

分類是預測建模的一個組成部分。 您可以使用它來識別總體中特定樣本所屬的類別。 假設您想預測患者是否會再次住院。 這裡有兩種可能的類型:陽性(住院)和陰性(未住院)。 分類模型將預測應該放置樣本的桶,預測為陽性或預測為陰性。 訓練模型後,您將發現預測的準確性。

大多數數據科學家和機器學習工程師使用 Scikit-Learn 包來分析預測模型的性能。 sklearn 指標模塊使您可以訪問許多內置功能。 讓我們用這些指標從頭開始編寫函數的過程。

加入來自世界頂級大學的在線機器學習課程——碩士、高級管理人員研究生課程和 ML 和 AI 高級證書課程,以加快您的職業生涯。

Sklearn 指標解釋

Sklearn 指標可讓您實現分數、損失和效用函數來評估分類性能。

以下是涉及的關鍵步驟:

  • 加載數據;
  • 將其拆分為訓練集和測試集;
  • 建立訓練模型;
  • 對測試數據進行預測或預測;
  • 使用特定方法評估機器學習模型。

要繼續,您需要為隨機森林和線性回歸這兩個模型加載樣本數據集和預測功能。 我們稱它們為 Model_RF 和 Model_LR。

運行此代碼以導入 Pandas 模塊並讀取數據文件並檢查其元素。

將熊貓導入為 ps

df = ps.read_csv('data.csv')

df.head()

在大多數項目中,您定義一個閾值並將預測概率標記為預測正數和預測負數。 這會在您的表格中再添加兩列。

閾值 = 0.5

df['forecasted_RF'] = (df.model_RF >= 0.5).astype('int')

df['forecasted_LR'] = (df.model_LR >= 0.5).astype('int')

df.head()

現在我們有了實際和預測的標籤,我們可以將樣本分成四個不同的桶。

使用混淆矩陣,我們可以得到一個 2X2 數組,其中標籤分為以下桶:

  • 真陽性 (TP)
  • 誤報 (FP)
  • 假陰性 (FN)
  • 真陰性 (TN)

從 sklearn 指標導入混淆矩陣並傳遞實際和預測標籤後,您可以定義函數來驗證它。

您還可以使用 Python 的 assert 函數和 NumPy 的 array_equal 函數手動檢查結果是否匹配。

我們可以使用 TP、FP、TN 和 FN 這四個桶來計算許多其他性能指標。 這些是:

1.accuracy_score

它將實際和預測的標籤作為輸入,並產生正確預測的樣本分數。

2.recall_score

它給出了正確預測的積極事件的比例。 召回也稱為敏感性。

3.precision_score

它顯示了預測的陽性事件中陽性的比例。

在計算完所有這些指標後,假設您發現 RF 模型在召回率和精度方面更好。 這裡的選擇很容易。 但是,如果 LR 模型的召回率更高,而 RF 模型的準確率更高呢? 在這種情況下,您將需要另一種稱為 F1 分數的方法。

4. f1_score

它是召回率和準確率的調和平均值。 得分越高的模型被認為是更好的選擇。

上述指標是使用定義的閾值 0.5 計算的。 人們可能想知道這個閾值的變化是否也會改變性能指標。 答案? 是的,它會。

我們還有另一種無需選擇閾值即可評估模型的方法,即接收器操作特徵 (ROC) 曲線。 Scikit-learn 還具有用於分析它們的內置函數。

roc_curve 和 roc_auc_score 函數將實際標籤和預測概率作為輸入。

  • roc_curve

它返回三個列表,即閾值(按降序排列的唯一預測概率)、FPR(假陽性率)和 TPR(真陽性率)。

  • roc_auc_curve

它可以找到 RF 和 LR 模型的曲線下面積。

繪製 ROC 曲線並將 AUC 添加到圖例後,您可以確定更好的性能指標。

加起來

在預測分析中,您可以從多種指標中進行選擇。 準確率、召回率、精度、f1 和 AUC 是一些流行的分數。

有些人可能更喜歡定義閾值並使用準確度、召回率、精度和 f1 分數等性能指標。 其他人可能喜歡使用 AUC 來分析模型的性能,因為它不需要選擇閾值。 最後,您應該選擇最適合手頭業務問題的指標。

有了這個,我們為您提供了 sklearn 指標的概述。 您可以使用此信息來闡明 Python 編程的基礎知識並通過在線課程繼續學習。 您還可以進行項目工作來練習和完善您的技能。 像 upGrad 的機器學習和人工智能理學碩士這樣的項目可以在這兩個方面提供幫助。

該課程讓您熟悉完整的數據科學工具包,並涵蓋 Scikit-Learn 和其他軟件的實際方面。 此外,利物浦約翰摩爾斯大學和班加羅爾 IIIT 等知名機構的證書使您在工作申請和安置面試的競爭中脫穎而出。

Python 中的評估指標是什麼?

評估指標通常用於 Python 中的分類問題。 Scikit-Learn 是一個免費的機器學習庫,可以執行廣泛的預測分析任務。 有抱負的數據科學家和機器學習工程師可以使用它來預測數據並分析特定模型的質量。

為什麼需要 sklearn 指標?

Sklearn 指標可讓您評估預測的質量。 您可以在 Scikit-Learn 中將此模塊用於各種數據集、評分函數和性能指標。 sklearn 中的混淆矩陣是預測準確性的方便表示。 使用實際和預測標籤等輸入,以及定義的閾值或置信度值,您可以計算召回率、精度和 f1 分數等指標。 ROC 曲線法平衡概率估計,並根據曲線下面積給出性能指標。

人工智能和機器學習的研究生教育如何幫助職業發展?

人工智能和機器學習領域的大多數高級認證都包括課程中的 Scikit-Learn 等工具。 它是 Python 編程和數據科學培訓的重要組成部分。 但是在當今競爭激烈的工作環境中,Python 和 Scikit-Learn 的編碼食譜是不夠的。 您需要獲得面向行業的知識並練習您的技能。 因此,選擇能夠提供實施項目和任務的機會的學習計劃。