1.機器學習之模型評估詳解

来源:https://www.cnblogs.com/bonheur/archive/2020/03/02/12393145.html
-Advertisement-
Play Games

模型評價是指對於已經建立的一個或多個模型,根據其模型的類別,使用不同的指標評價其性能優劣的過程。常用的聚類模型評價指標有ARI評價法(蘭德繫數)、AMI評價法(互信息)、V-measure評分、FMI評價法和輪廓繫數等。常用的分類模型評價指標有準確率(Accuracy)、精確率(Precision) ...


 模型評價是指對於已經建立的一個或多個模型,根據其模型的類別,使用不同的指標評價其性能優劣的過程。常用的聚類模型評價指標有ARI評價法(蘭德繫數)、AMI評價法(互信息)、V-measure評分、FMI評價法和輪廓繫數等。常用的分類模型評價指標有準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1值(F1 Value)、ROC和AUC等。常用的回歸模型評價指標有平均絕對誤差、均方根誤差、中值絕對誤差和可解釋方差值等。

線性回歸解決的是連續型數值的預測問題,例如預測房價,產品銷量等。
邏輯回歸解決的是分類問題,從分類數量上看,有二項分類和多項分類。

sklearn庫的metrics模塊提供各種評估方法,包括分類評估、回歸評估、聚類評估和交叉驗證等,評估分類是判斷預測值時否很好的與實際標記值相匹配。正確的鑒別出正樣本(True Positives)或者負樣本(True Negatives)都是True。同理,錯誤的判斷正樣本(False Positive,即一類錯誤)或者負樣本(False Negative,即二類錯誤)。
註意:True和False是對於評價預測結果而言,也就是評價預測結果是正確的(True)還是錯誤的(False)。而Positive和Negative則是樣本分類的標記。

metrics模塊分類度量有6種方法,如下表所示:

指標

描述

metrics方法

Accuracy

準確度

from sklearn.metrics import accuracy_score

Precision

查準率

from sklearn.metrics import precision_score

Recall

查全率

from sklearn.metrics import recall_score

F1

F1

from sklearn.metrics import f1_score

Classification Report

分類報告

from sklearn.metrics import classification_report

Confusion Matrix

混淆矩陣

from sklearn.metrics import confusion_matrix

ROC

ROC曲線

from sklearn.metrics import roc_curve

AUC

ROC曲線下的面積

from sklearn.metrics import auc

 1 '''
 2 from sklearn.metrics import accuracy_score, precision_score,
 3 recall_score, f1_score, classification_report, confusion_matrix
 4 accuracy_score(y_test, y_pred)
 5 precision_score(y_test, y_pred)    
 6 recall_score(y_test, y_pred)
 7 f1_score(y_test,y_pred)
 8 classification_report(y_test,y_pred)
 9 confusion_matrix(y_test, y_pred)
10 '''

準確度(accuracy)

準確度是預測正確的數(包括正樣本和負樣本)占所有數的比例。利用accuracy_score函數對預測數據進行模型評估,其中第一個參數是測試標記,第二個參數是預測標記值

ACC = (TP+TN)/(TP+TN+FP+FN)

查準率/精確度(Precision)和查全率/召回率(Recall

sklearnmetrics模塊分別提供了precision_scorerecall_score函數用來評估分類模型的查全率和查準率。

精確度:precision,正確預測為正的,占全部預測為正的比例,TP / (TP+FP)

召回率:recall,正確預測為正的,占全部實際為正的比例,TP / (TP+FN)

假設有一個大小為1000的帶布爾標簽數據集,裡面的樣本只有100不到,剩下都是假樣本。假設訓練一個模型,不管輸入什麼數據,它只給出的預測,那麼正確率依舊是90%以上,很明顯,這個時候準確率accuracy就失去它的作用。因此,查全率和查準率一般用在傾斜數據集的時候。

F1值(F1-Measure

PrecisionRecall指標有的時候是矛盾的,F-Measure綜合這二者指標的評估指標,用於綜合反映整體的指標。F-MeasurePrecisionRecall加權調和平均, a為權重因數,a = 1時,F值變為最常見的F1了,代表精確率和召回率的權重一樣(fl_score)

                 

分類報告(Classification Report)

metrics模塊的classification_report方法,綜合提供了查準率(precision)、查全率(recall)和f1值三種評估指標

混淆矩陣(Confusion Matrix)

 

混淆矩陣是一個N X N矩陣,N為分類的個數。假如我們面對的是一個二分類問題,也就是N2,我們就得到一個2 X 2矩陣。在學習這個矩陣之前,我們需要知道一些簡單的定義。
Accuracy(
準確度):預測正確的數占所有數的比例。
Positive Predictive Value(
陽性預測值) or Precision(查準率):陽性預測值被預測正確的比例。
Negative Predictive Value(
陰性預測值):陰性預測值被預測正確的比例。
Sensity(
靈敏度) or Recall(查全率):在陽性值中實際被預測正確所占的比例。
Specificity(
特異度):在陰性值中實現被預測正確所占的比例

ROC(receiver operating characteristic curve)

曲線指受試者工作特征曲線或者是接收器操作特性曲線, 慮一個二分問題,即將實例分成正類(positive)或負類(negative)。對一個二分問題來說,會出現四種情況。如果一個實例是正類並且也被預測成正類,即為真正類(True positive,如果實例是負類被預測成正類,稱之為假正類(False positive)。相應地,如果實例是負類被預測成負類,稱之為真負類(True negative,正類被預測成負類則為假負類(false negative)。

TP:正確肯定的數目;

FN:漏報,沒有正確找到的匹配的數目;

FP:誤報,給出的匹配是不正確的;

TN:正確拒絕的非匹配對數; 

從列聯表引入兩個新名詞。其一是真正類率(true positive rate ,TPR), 計算公式為TPR=TP/ (TP+ FN),刻畫的是分類器所識別出的正實例占所有正實例的比例。另外一個是假正類率(false positive rate, FPR),計算公式為FPR= FP / (FP + TN),計算的是分類器錯認為正類的負實例占所有負實例的比例。還有一個真負類率(True Negative RateTNR),也稱為specificity,計算公式為TNR=TN/ (FP+ TN) = 1-FPR

FPR = FP/(FP + TN)負樣本中

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • video在各瀏覽器中顯示的差異 video支持的基本視頻格式:mp4 / webm / ogv <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>video</title> </head> <body> <v ...
  • 【逆戰班】 1.flex佈局 Flexible Box 模型,通常被稱為 flexbox,是一種一維的佈局模型。它給 flexbox 的子元素之間提供了強大的空間分佈和對齊能力。我們說 flexbox 是一種一維的佈局,是因為一個 flexbox 一次只能處理一個維度上的元素佈局,一行或者一列。這裡 ...
  • 兩欄佈局是寫頁面時經常用到的,要想實現兩欄佈局,就需要明白BFC規則,Block formatting context,直譯為“塊級格式化上下文”,可以簡單的理解它為一個獨立的區域,把區域內部元素與外部元素區分開,兩者互不幹擾。它的規則:1.內部元素會在垂直方向一個接一個放置。2.屬於同一個BFC的 ...
  • 記錄怎麼使用text-align與vertical-align屬性設置元素在容器中垂直居中對齊。text-align與vertical-align雖然都是設置元素內部對齊方式的,但兩者的用法還是有略微不同的。在討論這兩者的用法之前,我們首先需要瞭解元素的分類。 塊元素:獨占一行、可設寬高、標準盒模型 ...
  • 圖解Java設計模式之單例設計模式 設計模式介紹 設計模式類型 單例設計模式介紹 餓漢式(靜態常量) 餓漢式(靜態代碼塊) 懶漢式(線程不安全) 懶漢式(線程安全,同步方法) 懶漢式(線程安全,同步代碼塊) 雙重檢查 靜態內部類 枚舉 單例模式註意事項和細節說明 設計模式介紹 1)設計模式是程式員在 ...
  • @RestController RestController是@Controller和@ResponseBody的合併 @EnableAutoConfigurationSpringBoot建議只有一個帶有該註解的類SpringBoot會自動根據jar包的依賴來自動配置項目當項目下麵有HSQLDB的依 ...
  • 前言 去年供職於一家電商公司,被分配到做商城營銷體系的開發設計。本文章記錄了我這個小菜鳥在營銷設計中遇到的坑坑窪窪,以及在重構中的思路。 線性思維,線性設計 首先我們列一列營銷組件有哪些 。 滿減 折扣 秒殺 組合購 換購 優惠券 新人有禮 邀請有禮 簽到 紅包裂變 ... 其次是要知道營銷在 正向 ...
  • 一、Map常用方法簡介 package com.bjpowernode.java_learning; ​ import java.util.HashMap; import java.util.*; ​ public class D91_1_MapCommonMethod { public stati ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...