第二十一講 XGBoost 回歸建模 + SHAP 可解釋性分析(利用R語言內置數據集)

下面我將使用 R 語言內置的 mtcars 數據集,模擬一個完整的 XGBoost 回歸建模 + SHAP 可解釋性分析 實戰流程。我們將以預測汽車的油耗(mpg)為目標變量,構建 XGBoost 模型,并用 SHAP 來解釋模型輸出。


🚗 示例:使用 XGBoost 和 SHAP 解釋 mtcars 油耗預測模型


📦 步驟 1:加載所需 R 包

# 如果尚未安裝,請取消注釋以下行安裝
# install.packages(c("xgboost", "SHAPforxgboost", "data.table", "ggplot2"))library(xgboost)
library(SHAPforxgboost)
library(data.table)
library(ggplot2)

🔍 步驟 2:準備數據

# 使用 mtcars 數據集
data(mtcars)# 將數據轉換為 matrix 格式
data_matrix <- as.matrix(mtcars[, -1])  # 去除 mpg 列作為特征
labels <- mtcars$mpg                   # mpg 作為目標變量# 轉為 xgboost DMatrix 格式
dtrain <- xgb.DMatrix(data = data_matrix, label = labels)

🧠 步驟 3:訓練 XGBoost 回歸模型

# 設置參數
params <- list(objective = "reg:squarederror", eval_metric = "rmse",eta = 0.1,max_depth = 3
)# 訓練模型
xgb_model <- xgb.train(params = params,data = dtrain,nrounds = 100,verbose = 0
)

📊 步驟 4:SHAP 解釋變量重要性

# 計算 SHAP 值
shap_values <- shap.values(xgb_model = xgb_model, X_train = data_matrix)
shap_long <- shap.prep(shap_contrib = shap_values$shap_score, X_train = data_matrix)# 可視化 SHAP 值
shap.plot.summary(shap_long)

這將繪制出各變量對預測油耗的貢獻,顏色表示變量的取值大小,非常直觀👇


?

🔥 SHAP 分析解讀(示意)

  • wt(重量) 對 mpg 的負向影響最顯著,越重油耗越高(mpg 越低)。

  • hp(馬力) 也是一個重要負相關特征。

  • cyl(氣缸數) 的影響次之。


? 小結

本示例中,我們用 mtcars 構建了一個 XGBoost 回歸模型,并通過 SHAPforxgboost 包對模型進行可解釋性分析:

步驟內容
數據準備使用內置數據集并轉換格式
模型訓練設置參數并訓練
SHAP 分析計算貢獻值并可視化

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

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

相關文章

PyMC+AI提示詞貝葉斯項目反應IRT理論Rasch分析籃球比賽官方數據:球員能力與位置層級結構研究

全文鏈接&#xff1a;tecdat.cn/?p41666 在體育數據分析領域不斷發展的當下&#xff0c;數據科學家們致力于挖掘數據背后的深層價值&#xff0c;為各行業提供更具洞察力的決策依據。近期&#xff0c;我們團隊完成了一項極具意義的咨詢項目&#xff0c;旨在通過先進的數據分析手…

【android bluetooth 框架分析 03】【Bta 層詳解 1】【Bluetooth Application Laye 介紹】

藍牙協議棧中 Bluetooth Application Layer&#xff08;藍牙應用層&#xff09;是協議棧核心組成部分&#xff0c;它位于協議棧中間偏上的位置&#xff0c;主要負責將底層 Bluetooth Stack&#xff08;如 L2CAP、AVDTP、RFCOMM、SDP 等&#xff09;與上層 Profile 和 Android F…

單片機獲取真實時間的實現方法

單片機獲取真實時間&#xff08;即當前的年月日、時分秒等&#xff09;通常需要依賴外部時間源或模塊&#xff0c;因為單片機本身沒有內置的實時時鐘&#xff08;RTC&#xff09;功能。 在 C 語言環境下&#xff0c;單片機獲取真實時間通常需要依賴 外部硬件模塊&#xff08;如…

Linux——進程優先級/切換/調度

1.進程優先級 1.進程優先級是什么&#xff1a;進程獲取CPU資源的先后順序 2.為什么要有進程優先級&#xff1a;因為一般CPU只有一塊&#xff0c;資源短缺&#xff0c;所以就需要優先級來確定誰先誰后的問題 3.值越低 進程的優先級越高 ps -l進行查看 UID&#xff1a;user id …

鑄鐵劃線平板:多行業的精密測量工具(北重十字滑臺加工廠家)

鑄鐵劃線平板是一種用于精密測量和校準的工具&#xff0c;廣泛應用于各個行業。它通常由鑄鐵制成&#xff0c;表面經過精密加工&#xff0c;能夠保證較高的平整度和準確度。鑄鐵劃線平板的主要作用是用來檢驗工件的平整度和垂直度&#xff0c;也常用于劃線、校準和測量工件的平…

Excel/WPS表格中圖片鏈接轉換成對應的實際圖片

Excel 超鏈圖變助手&#xff08;點擊下載可免費試用&#xff09; 是一款將鏈接轉換成實際圖片&#xff0c;批量下載表格中所有圖片的轉換工具&#xff0c;無需安裝&#xff0c;雙擊打開即可使用。 表格中鏈接如下圖所示&#xff1a; 操作方法&#xff1a; 1、雙擊以下圖標&a…

STM32---串口通信USART

目錄 一、串口通信協議 二、USART模塊介紹 &#xff08;1&#xff09;移位寄存器 &#xff08;2&#xff09;控制電路 &#xff08;3&#xff09;波特率 &#xff08;4&#xff09;C語言接口 三、串口的引腳初始化 &#xff08;1&#xff09;引腳分布表 &…

流程架構是什么?為什么要構建流程架構,以及如何構建流程結構?

本文從&#xff1a;流程架構是什么&#xff1f;為什么要構建流程架構&#xff1f;如何構建流程結構三個方面來介紹。 一、首先&#xff0c;我們來了解流程架構是什么&#xff1f; 流程架構是人體的骨架&#xff0c;是大樓的砌筑&#xff0c;是課本的目錄&#xff0c;是流程管理…

網絡結構及安全科普

文章目錄 終端聯網網絡硬件基礎網絡協議示例&#xff1a;用戶訪問網頁 OSI七層模型網絡攻擊&#xff08;Hack&#xff09;網絡攻擊的主要類別&#xff08;一&#xff09;按攻擊目標分類&#xff08;二&#xff09;按攻擊技術分類 網絡安全防御 典型攻擊案例相關名詞介紹網絡連接…

同z科技面經

同z科技-2025-4-23 1.自我介紹 個人信息 校園經歷 實習經歷 項目經歷 個人技能掌握 目前學習技術 2.封裝緩存工具類怎么封裝的 先介紹使用緩存的問題 解決的邏輯 封裝的邏輯 應用 緩存穿透&#xff1a; 緩存雪崩&#xff1a; 緩存擊穿&#xff1a; https://www…

基于LoRA的Llama 2二次預訓練實踐:高效低成本的大模型領域適配

引言 近年來&#xff0c;大語言模型&#xff08;LLM&#xff09;如Meta的Llama 2系列憑借其強大的生成和理解能力成為NLP領域的核心工具。然而&#xff0c;直接將通用預訓練模型應用于垂直領域&#xff08;如醫療、法律、金融&#xff09;時&#xff0c;常面臨領域知識不足的問…

Python爬蟲(2)Python爬蟲入門:從HTTP協議解析到豆瓣電影數據抓取實戰

目錄 一、背景與需求?二、 Web基礎與HTTP協議核心解析?2.1 HTTP協議&#xff1a;數據交互的基石?2.2 為何爬蟲需理解HTTP協議&#xff1f;? 三、 Python爬蟲實戰&#xff1a;Requests庫核心用法?3.1 安裝與環境配置?3.2 案例1&#xff1a;GET請求抓取豆瓣電影Top250?3.3…

深度學習--ResNet殘差神經網絡解析

文章目錄 前言一、什么是ResNet網絡二、傳統卷積神經網絡存在的問題1、梯度消失和梯度爆炸2、退化問題 三、如何解決問題四、殘差結構五、18層殘差網絡1、解釋2、隔層相加優點3、隔層相加數值增大問題 六、18層殘差網絡以外的表格示例七、BN層&#xff08;Batch Normalization&…

【go】go run-gcflags常用參數歸納,go逃逸分析執行語句,go返回局部變量指針是安全的

go官方參考文檔&#xff1a; https://pkg.go.dev/cmd/compile 基本語法 go run 命令用來編譯并運行Go程序&#xff0c;-gcflags 后面可以跟一系列的編譯選項&#xff0c;多個選項之間用空格分隔。基本語法如下&#xff1a; go run -gcflags "<flags>" main.…

K8S探針的應用

目錄&#xff1a; 1、探針的簡介2、啟用探針2.1、啟用就緒探針2.2、啟用存活探針2.3、啟用啟動探針&#xff08;可選&#xff09; 1、探針的簡介 在Kubernetes中&#xff0c;探針&#xff08;Probes&#xff09;是用來檢查容器健康狀況的工具&#xff0c;它們幫助Kubernetes了…

體積小巧的 Word 轉 PDF 批量工具

軟件介紹 今天給大家介紹一款能批量把 Word 文檔轉換成 PDF 的實用小工具。 軟件特點 這款 Word 批量轉 PDF 軟件&#xff0c;身材小巧&#xff0c;體積不到 1M&#xff0c;還沒界面呢&#xff01;使用時&#xff0c;只要把軟件和要轉換的 Word 文檔放在一個文件夾&#xff…

JMeter介紹

文章目錄 1. JMeter簡介2. JMeter 下載3. JMeter修改編碼集4. 啟動并運行JMeter 1. JMeter簡介 JMeter 是 Apache 組織使用 Java 開發的一款測試工具&#xff1a; 1、可以用于對服務器、網絡或對象模擬巨大的負載 2、通過創建帶有斷言的腳本來驗證程序是否能返回期望的結果 優…

URP-UGUI相關知識

一、UGUI的基本組成部分 Canvas &#xff08;畫布&#xff09;所有UI都需要放在Canvas畫布下面&#xff0c;不然無法顯示EventSystem 所有的事件響應系統都需要依賴于EventSystem,若刪除該組件&#xff0c;交互效果就 不會顯示 1.Canvas(畫…

ShenNiusModularity項目源碼學習(20:ShenNius.Admin.Mvc項目分析-5)

ShenNiusModularity項目的系統管理模塊主要用于配置系統的用戶、角色、權限、基礎數據等信息&#xff0c;上篇文章中學習的日志列表頁面相對獨立&#xff0c;而后面幾個頁面之間存在依賴關系&#xff0c;如角色頁面依賴菜單頁面定義菜單列表以便配置角色的權限&#xff0c;用戶…

JavaFX 實戰:從零打造一個功能豐富的英文“劊子手”(Hangman)游戲

大家好&#xff01;今天我們要挑戰一個經典的單詞猜謎游戲——“劊子手”&#xff08;Hangman&#xff09;&#xff0c;并使用 JavaFX 這個強大的 GUI 工具包來賦予它現代化的交互體驗。這個項目不僅有趣&#xff0c;而且是學習和實踐 JavaFX 核心概念的絕佳途徑&#xff0c;涵…