【Sklearn馴化-回歸指標】一文搞懂機器學習中回歸算法評估指標:mae、rmse等

【Sklearn馴化-回歸指標】一文搞懂機器學習中回歸算法評估指標:mae、rmse等
?
本次修煉方法請往下查看
在這里插入圖片描述

🌈 歡迎蒞臨我的個人主頁 👈這里是我工作、學習、實踐 IT領域、真誠分享 踩坑集合,智慧小天地!
🎇 免費獲取相關內容文檔關注:微信公眾號,發送 pandas 即可獲取
🎇 相關內容視頻講解 B站

🎓 博主簡介:AI算法馴化師,混跡多個大廠搜索、推薦、廣告、數據分析、數據挖掘崗位 個人申請專利40+,熟練掌握機器、深度學習等各類應用算法原理和項目實戰經驗

🔧 技術專長: 在機器學習、搜索、廣告、推薦、CV、NLP、多模態、數據分析等算法相關領域有豐富的項目實戰經驗。已累計為求職、科研、學習等需求提供近千次有償|無償定制化服務,助力多位小伙伴在學習、求職、工作上少走彎路、提高效率,近一年好評率100%

📝 博客風采: 積極分享關于機器學習、深度學習、數據分析、NLP、PyTorch、Python、Linux、工作、項目總結相關的實用內容。

?
?
?
?
?
?
?
?
?
?
?
?
?
?
?

🌵文章目錄🌵

    • 🎯 1. 基本介紹
    • 💡 2. 指標介紹
      • 2.1 MAE:平均絕對誤差
      • 2.2 MSE:均方誤差
      • 2.2 RMSE:均方誤差
      • 2.3 MAPE:平均絕對百分比誤差
      • 2.4 SMAPE:平均絕對百分比誤差
      • 2.5 WMAPE:加權的百分比誤差
      • 2.6 決定系數(R-squared, R2)
    • 🔍 3. 代碼實踐
      • 3.1 導入庫和準備數據
      • 3.2 訓練回歸模型
      • 3.2 指標計算
    • 🔍 4. 注意事項
    • 🔍 5. 總結

下滑查看解決方法

?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?

??

🎯 1. 基本介紹

??回歸分析是統計學中用于估計變量之間關系的一種方法。在機器學習中,回歸模型用于預測連續的輸出值。scikit-learn(簡稱sklearn)提供了多種回歸指標來評估模型的預測性能。

💡 2. 指標介紹

2.1 MAE:平均絕對誤差

??mae是回歸模型中常用的評估指標之一。它用于衡量模型預測結果與真實值之間的平均絕對差異程度,即平均預測誤差的絕對值。計算MAE的公式如下:
L = 1 m ∑ i = 1 m ∣ y i ? y ^ i ∣ L=\frac{1}{m}\sum_{i=1}^{m}|y_i - \hat{y}_i| L=m1?i=1m?yi??y^?i?
??MAE的值越小,表示模型的預測能力越好。它具有對異常值不敏感的特點,適用于對預測結果的平均誤差情況進行評估。在sklearn中,可以使用mean_absolute_error函數來計算MAE。

2.2 MSE:均方誤差

??它用于衡量模型預測結果與真實值之間的均方差,即平均預測誤差的平方
L = 1 m ∑ i = 1 m ( y i ? y ^ ) 2 L=\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y})^2 L=m1?i=1m?(yi??y^?)2
?? 該方法會放大預測值偏大的,對異常值比較敏感,MSE的值越小,表示模型的預測能力越好。它在某些情況下比均絕對誤差(MAE)更敏感,因為它對預測值與真實值之間的較大誤差進行了平方處理。但是MSE的值的量綱是原始數據平方,可能不易于直觀理解。

2.2 RMSE:均方誤差

??均方根誤差是MSE的平方根,它與原始數據具有相同的單位。
L = 1 m ∑ i = 1 m ( y i ? y ^ ) 2 L=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y})^2} L=m1?i=1m?(yi??y^?)2 ?
??因為使用的是平均誤差,而平均誤差對異常點較敏感,如果回歸器對某個點的回歸值很不合理,那么它的誤差則比較大,從而會對RMSE的值有較大影響,即平均值是非魯棒的。

2.3 MAPE:平均絕對百分比誤差

??
L = 1 n ∑ i = 1 m ∣ y i ? y ^ i y i ∣ L=\frac{1}{n}\sum_{i=1}^{m}|\frac{y_i-\hat{y}_i}{y_i}| L=n1?i=1m?yi?yi??y^?i??

評價的是相對于真實值的誤差比例,但是有一個問題就是,如果真實值為0的話,該評價指標無效
如果預測值小于真實值(低估),如果大于(高估)
低估: 此時, 即上界為100;
高估: 此時, 即上界為無窮大.
由于高估會帶來較大懲罰, 為了最小化MAPE值, 算法會傾向低估, 從而導致預測的銷量偏低.

2.4 SMAPE:平均絕對百分比誤差

??該方法可以處理掉真實值為0的情況,但是如果預測值也為0的話就會有問題
L = 1 n ∑ i = 1 m ∣ y i ? y ^ i ∣ ∣ y i ∣ + ∣ y i ^ ∣ L=\frac{1}{n}\sum_{i=1}^{m}\frac{|y_i-\hat{y}_i|}{|y_i|+|\hat{y_i}|} L=n1?i=1m?yi?+yi?^?yi??y^?i??

在實際的銷量預測中, 由于銷量的上界通常是有限的(通過經驗可以預估), 因而即使出現"高估"的情形, 預測銷量一般不會超過實際銷量的常數倍(例如不超過10倍). 從這個角度來看, 高估時誤差的上界一般低于低估時對應的上界. 換句話說, 低估帶來的懲罰比高估大. 因此如果使用SMAPE作為誤差指標, 其預測銷量一般會高于實際銷量.

2.5 WMAPE:加權的百分比誤差

??該方法的好處就是可以處理mape這個問題:例如一件賣了10件的商品預測值在5-15之間和賣了5000件的商品預測在4955-5005的貢獻的mape是一樣的,但顯然兩個預測的準確度差異巨大。該方法給銷量的商品更大的權重。
L = ∑ n ∣ y i ? y ^ i ∣ ∑ n y i L=\frac{\sum_{n}|y_i - \hat{y}_i|}{\sum_{n}y_i} L=n?yi?n?yi??y^?i??

2.6 決定系數(R-squared, R2)

??決定系數衡量模型捕捉數據可變性的程度。具體的公式如下所示:
r 2 = ∑ i = 1 n ( y i ? y i ′ ) 2 ∑ i = 1 n ( y i ? y 平均 ) 2 r^2=\frac{\sum_{i=1}^{n}(y_i-y'_i)^2}{\sum_{i=1}^{n}(y_i-y平均)^2} r2=i=1n?(yi??y平均)2i=1n?(yi??yi?)2?

🔍 3. 代碼實踐

3.1 導入庫和準備數據

?? 下面我們對相關的公式進行構造數據,并通過代碼對其進行實踐操作,具體的代碼如下所示:

from sklearn.metrics import mean_squared_error, r2_score
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_regression# 生成模擬回歸數據
X, y = make_regression(n_samples=100, n_features=1, noise=0.4, random_state=42)# 劃分訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

3.2 訓練回歸模型

?? 為了能夠更加清晰的看出來各個指標的效果,我們訓練一個回歸模型然后來看各個指標之間的差異性,具體的代碼如下所示:

# 創建線性回歸模型并訓練
model = LinearRegression()
model.fit(X_train, y_train)# 在測試集上進行預測
y_pred = model.predict(X_test)

3.2 指標計算

?? 下面我們根據預測和真實值之間的差異性來計算回歸模型的指標,具體的代碼如下所示:

# 計算MSE和RMSE
mse = mean_squared_error(y_test, y_pred)
rmse = mse ** 0.5print(f"均方誤差: {mse:.2f}")
print(f"均方根誤差: {rmse:.2f}")# 計算R-squared
r2 = r2_score(y_test, y_pred)
print(f"決定系數: {r2:.2f}")

??

🔍 4. 注意事項

  • 回歸指標的選擇應基于模型的目標和數據的特性。
  • MSE和RMSE對異常值敏感,如果數據中包含異常值,可能需要考慮使用其他指標。
  • R-squared雖然直觀,但增加變量時可能會產生誤導,考慮使用調整R-squared。

🔍 5. 總結

??回歸指標是評估回歸模型預測性能的重要工具。scikit-learn提供了多種指標,包括MSE、RMSE和R-squared,幫助我們量化模型的準確性和有效性。通過本博客的代碼示例,我們學習了這些指標的計算方法和實際應用。希望這篇博客能夠幫助你更好地理解sklearn中的回歸指標,并將其應用于實際的回歸分析中。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36335.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36335.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36335.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動環監控系統數據可靠維護與效能實現

摘要:了解動環監控的功能,總結出通過分析監控系統的數據庫和系統軟件,采取措施對數據進行維護,充分利用監控系統,確保高效低耗的維護網絡。 關鍵詞:監控;數據丟失;備份;恢復;維護 0引言 隨著網絡信息化和…

如何提高外文文獻閱讀效率

要提高外文文獻閱讀效率,可以考慮以下幾點: 掌握基礎語言能力: 熟練掌握英語或其他目標語言的基礎詞匯和語法是提高閱讀效率的基礎。如果語言能力有限,可以通過課程、閱讀和聽力練習來增強。 選擇合適的文獻: 根據研…

python-docx 使用xml為docx不同的章節段落設置不同字體

本文目錄 前言一、完整代碼二、代碼詳細解析1、處理過程解釋(1) 引入庫并定義路徑(2) 創建docx的備份文件(3) 定義命名空間(4) 打開并處理.docx文件(5) 分析和組織文檔結構(6) 設置字體(7) 保存結果前言 本文主要解決的內容,就是為一個docx的不同章節段落設置不同的字體,因為…

6.二叉樹.題目3

6.二叉樹.題目3 題目17.二叉搜索樹中的眾數18.二叉樹的最近公共祖先19.二叉樹搜索樹的最近公共祖先20.二叉搜索樹中的插入操作。普通二叉樹的刪除方式 21.刪除二叉搜索樹中的節點22.修剪二叉樹23.將有序數組轉化為二叉搜索樹24.把二叉搜索樹轉化為累加樹 總結 題目 17.二叉搜索…

LLM大模型本地部署與預訓練微調

以通義千問-1_8B-Chat為例,按照官方教程,簡單介紹如何將模型進行本地CPU部署以及預訓練微調: 1、環境條件:Linux 24G內存左右 2、本地部署: 提前安裝好git跟git lfs,否則可能拉取不到模型文件,g…

SQL面試題練習 —— 求連續段的起始位置和結束位置

目錄 1 題目2 建表語句3 題解 題目來源:拼多多。 1 題目 有一張表t_id記錄了id,id不重復,但是會存在間斷,求出連續段的起始位置和結束位置。 樣例數據 ----- | id | ----- | 1 | | 2 | | 3 | | 5 | | 6 | | 8 | | …

【教程】DPW 325T FPGA板卡程序下載與固化全攻略

到底什么是固化??? 在開發板領域,"固化"通常指的是將軟件或操作系統的鏡像文件燒錄(Flash)到開發板的存儲介質上,使其成為開發板啟動時加載的系統。這個過程可以確保開發板在啟動時能…

從單點到全景:視頻匯聚/安防監控EasyCVR全景視頻監控技術的演進之路

在當今日新月異的科技浪潮中,安防監控領域的技術發展日新月異,全景攝像機便是這一領域的杰出代表。它以其獨特的360度無死角監控能力,為各行各業提供了前所未有的安全保障,成為現代安防體系中的重要組成部分。 一、全景攝像機的技…

【SpringMVC】第1-7章

第1章 初始SpringMVC 1.1 學習本套教程前的知識儲備 JavaSEHTMLCSSJavaScriptVueAJAX axiosThymeleafServletMavenSpring 1.2 什么是MVC MVC架構模式相關課程,在老杜的JavaWeb課程中已經詳細的講解了,如果沒有學過的,可以看這個視頻&…

抖音微短劇小程序平臺:源碼搭建與廣告回傳技術詳解

抖音微短劇小程序平臺:源碼搭建與廣告回傳技術詳解 在數字化時代,短視頻已成為大眾娛樂生活的重要組成部分。抖音微短劇小程序平臺,作為這一趨勢的佼佼者,不僅為用戶提供了豐富多樣的短視頻內容,還為創作者和廣告主提…

當下為什么越來越多的企業選擇產業園區,而不是寫字樓?

隨著經濟形勢的變化和各行業的升級轉型,我們發現越來越多的企業選擇扎根產業園而非傳統的寫字樓,這一現象背后真正的原因是什么呢?今天我們就站在企業自身發展的角度,全維度對比一下產業園與傳統寫字樓的區別,看是否能…

參加六西格瑪綠帶培訓是投資未來,還是花冤枉錢?

是否值得花費資金參加六西格瑪綠帶培訓,取決于多個因素。 從積極的方面來看,參加六西格瑪綠帶培訓具有以下潛在價值: 1. 提升專業技能:使您掌握一套系統的問題解決方法和流程改進工具,有助于在工作中更高效地解決復雜…

代碼隨想錄算法訓練營:14/60

非科班學習算法day14 | LeetCode266:翻轉二叉樹 ,Leetcode101: 對稱二叉樹,Leetcode100:相同的的樹 ,LeetCode572:另一顆樹的子樹,LeetCode104:二叉樹的最大深度,LeetCode559:N叉樹的最大深度 目…

CesiumJS【Basic】- #017 精靈動畫的渲染

文章目錄 精靈動畫的渲染1 目標2 實現3 資源文件精靈動畫的渲染 1 目標 完成動畫精靈圖(Animated Sprite Sheet)的渲染 2 實現 import * as Cesium from "cesium";const viewer = new Cesium.

SDK 程序卡在 AXI DMA 配置 (XAxiDma_CfgInitialize)的解決方法

在進行 AXI DMA 配置 時候代碼一直卡在XAxiDma_CfgInitialize函數出不來,也沒有打印報錯。 /* Initialize the XAxiDma device.*/CfgPtr XAxiDma_LookupConfig(DeviceId);if (!CfgPtr) {xil_printf("No config found for %d\r\n", DeviceId);return XST_…

Ubuntu安裝指定內核版本教程

Ubuntu安裝內核 1.查看當前os已安裝的內核 $sudo dpkg --get-selections |grep linux-image linux-image-5.10.0-1013-oem install linux-image-5.11.0-27-generic install linux-image-5.11.0-41-generic install …

ResNet-50算法

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 一、理論知識儲備 1.CNN算法發展 AlexNet是2012年ImageNet競賽中,由Alex Krizhevsky和Ilya Sutskever提出,在2012年ImageNet競賽中&a…

頭歌——機器學習——支持向量機案例

第1關:基于支持向量機模型的應用案例 任務描述 本關任務:編寫一個基于支持向量機模型的應用案例。 相關知識 在本應用案例中,我們借助一個具體的實際問題,來完整地實現基于支持向量機模型的開發應用。在此訓練中,我…

運籌系列93:VRP精確算法

1. MTZ模型 MTZ是Miller-Tucker-Zemlin inequalities的縮寫。除了定義是否用到邊 x i j x_{ij} xij?外,還需要定義一個 u i u_i ui?用來表示此時車輛的當前載貨量。注意這里x變量需要定義為有向。 這里定義為pickup問題,代碼為: using Ju…

數據庫系統概論-第11章并發控制

允許多個用戶同時使用同一個數據庫的數據庫系統稱為多用戶數據庫系統。 事務可以一個一個地中行執行,即每個時刻只有一個事務運行,其他事務必須等到這個事務結束以后方能運行。 單處理機系統中,事務的并行執行實際上是這些并行事務的并行操…