技巧|SwanLab記錄混淆矩陣攻略

繪制混淆矩陣(Confusion Matrix),用于評估分類模型的性能。混淆矩陣展示了模型預測結果與真實標簽之間的對應關系,能夠直觀地顯示各類別的預測準確性和錯誤類型。

混淆矩陣是評估分類模型性能的基礎工具,特別適用于多分類問題。

你可以使用swanlab.confusion_matrix來記錄混淆矩陣。

Demo鏈接:ComputeMetrics - SwanLab

在這里插入圖片描述

基本用法

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import xgboost as xgb
import swanlab# 加載鳶尾花數據集
iris_data = load_iris()
X = iris_data.data
y = iris_data.target
class_names = iris_data.target_names.tolist()# 劃分訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 訓練模型
model = xgb.XGBClassifier(objective='multi:softmax', num_class=len(class_names))
model.fit(X_train, y_train)# 獲取預測結果
y_pred = model.predict(X_test)# 初始化SwanLab
swanlab.init(project="Confusion-Matrix-Demo", experiment_name="Confusion-Matrix-Example")# 記錄混淆矩陣
swanlab.log({"confusion_matrix": swanlab.confusion_matrix(y_test, y_pred, class_names)
})swanlab.finish()

使用自定義類別名稱

# 定義自定義類別名稱
custom_class_names = ["類別A", "類別B", "類別C"]# 記錄混淆矩陣
confusion_matrix = swanlab.confusion_matrix(y_test, y_pred, custom_class_names)
swanlab.log({"confusion_matrix_custom": confusion_matrix})

不使用類別名稱

# 不指定類別名稱,將使用數字索引
confusion_matrix = swanlab.confusion_matrix(y_test, y_pred)
swanlab.log({"confusion_matrix_default": confusion_matrix})

二分類示例

import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
import xgboost as xgb
import swanlab# 生成二分類數據
X, y = make_classification(n_samples=1000, n_features=20, n_informative=2, n_redundant=10, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)# 訓練模型
model = xgb.XGBClassifier(use_label_encoder=False, eval_metric='logloss')
model.fit(X_train, y_train)# 獲取預測結果
y_pred = model.predict(X_test)# 記錄混淆矩陣
swanlab.log({"confusion_matrix": swanlab.confusion_matrix(y_test, y_pred, ["負類", "正類"])
})

注意事項

  1. 數據格式: y_truey_pred可以是列表或numpy數組
  2. 多分類支持: 此函數支持二分類和多分類問題
  3. 類別名稱: class_names的長度應該與類別數量一致
  4. 依賴包: 需要安裝scikit-learnpyecharts
  5. 坐標軸: sklearn的confusion_matrix左上角為(0,0),在pyecharts的heatmap中是左下角,函數會自動處理坐標轉換
  6. 矩陣解讀: 混淆矩陣中,行表示真實標簽,列表示預測標簽

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

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

相關文章

HTTPS的工作原理

文章目錄HTTP有什么問題?1. 明文傳輸,容易被竊聽2. 無法驗證通信方身份3. 數據完整性無法保證HTTPS是如何解決這些問題的?HTTPS的工作原理1. SSL/TLS握手2. 數據加密傳輸3. 完整性保護4. 連接關閉總結HTTP有什么問題? 1. 明文傳輸…

ECMAScript2020(ES11)新特性

概述 ECMAScript2020于2020年6月正式發布, 本文會介紹ECMAScript2020(ES11),即ECMAScript的第11個版本的新特性。 以下摘自官網:ecma-262 ECMAScript 2020, the 11th edition, introduced the matchAll method for Strings, to produce an …

機器視覺引導機器人修磨加工系統助力芯片封裝

芯片制造中,劈刀同軸度精度對封裝質量至關重要。傳統加工在精度、效率、穩定性、良率及操作便捷性上存在不足:精度不足:劈刀同軸度需控在 0.003mm 內,傳統手段難達標,致芯片封裝良率低;效率良率低 &#xf…

Python編程基礎與實踐:Python模塊與包入門實踐

Python模塊與包的深度探索 學習目標 通過本課程的學習,學員將掌握Python中模塊和包的基本概念,了解如何導入和使用標準庫中的模塊,以及如何創建和組織自己的模塊和包。本課程將通過實際操作,幫助學員加深對Python模塊化編程的理解…

【Django】-4- 數據庫存儲和管理

一、關于ORM ORM 是啥呀ORM 就是用 面向對象 的方式,把數據庫里的數據還有它們之間的關系映射起來~就好像給數據庫和面向對象之間搭了一座小橋梁🎀對應關系大揭秘面向對象和數據庫里的東西,有超有趣的對應呢👇類 → 數…

深入 Go 底層原理(四):GMP 模型深度解析

1. 引言在上一篇文章中,我們宏觀地了解了 Go 的調度策略。現在,我們將深入到構成這個調度系統的三大核心組件:G、M、P。理解 GMP 模型是徹底搞懂 Go 并發調度原理的關鍵。本文將詳細解析 G、M、P 各自的職責以及它們之間是如何協同工作的。2.…

AI賦能測試:技術變革與應用展望

AI 在測試中的應用:技術賦能與未來展望 目錄 AI 在測試中的應用:技術賦能與未來展望 1. 引言 1.1 測試在軟件開發中的重要性 1.2 AI 技術如何改變傳統測試模式 1.3 文章結構概述 2. AI 在測試中的核心應用場景 2.1 自動化測試優化 2.1.1 智能測…

Mujoco(MuJoCo,全稱Multi - Joint dynamics with Contact)一種高性能的物理引擎

Mujoco(MuJoCo,全稱Multi - Joint dynamics with Contact)是一種高性能的物理引擎,主要用于模擬多體動力學系統,廣泛應用于機器人仿真、運動學研究、人工智能等領域。以下是關于Mujoco仿真的一些詳細介紹: …

winform-窗體應用的功能介紹(部分)

1--Point實現在窗口(Form)中一個按鈕(控件)的固定位置(所在位置)一個按鈕(控件)的位置一般是固定的,另一個按鈕在窗口中位置是隨機產生的Location屬性:Location new Point(X,Y);在C#的Winform應用程序里,Button控件的鼠標懸標懸浮事件是不存在內置延遲時間的。當鼠標指針進入按…

最新Windows11系統鏡像,23H2 64位ISO鏡像

Windows 11 主要分為 Consumer Editions(消費者版)和 Business Editions(商業版)兩大類別 。消費者版主要面向家庭和個人用戶,商業版則側重于企業和商業用戶。這兩大類別中存在部分重疊的版本,比如專業版和…

linux基本系統服務——DNS服務

一、DNS域名解析原理DNS&#xff0c;Domain Name System&#xff0c;域名系統&#xff1a;在互聯網中由大量域名解析服務器共同提供的一整套關于“域名 <--> IP地址”信息查詢的數據系統!!!! C/S架構&#xff1a;DNS服務端監聽UDP 53端口&#xff08;處理客戶端查詢&…

數據處理和統計分析——08 apply自定義函數

1 apply()函數 1.1 apply()函數簡介 Pandas提供了很多數據處理的API&#xff0c;但當提供的API不能滿足需求的時候&#xff0c;需要自己編寫數據處理函數, 這個時候可以使用apply()函數&#xff1b;apply()函數可以接收一個自定義函數&#xff0c;可以將DataFrame的行或列數據傳…

C++冰箱管理實戰代碼

基于C++的冰箱管理實例 以下是一些基于C++的冰箱管理實例示例,涵蓋不同功能場景,每個示例聚焦特定實現點,代碼可直接擴展或整合到項目中。 示例1:基礎冰箱類定義 class Refrigerator { private:int capacity;std::vector<std::string> items; public:Refrigerator(…

【Python】【數據分析】Python 數據分析與可視化:全面指南

目錄1. 環境準備2. 數據處理與清洗2.1 導入數據2.2 數據清洗示例&#xff1a;處理缺失值示例&#xff1a;處理異常值2.3 數據轉換3. 數據分析3.1 描述性統計3.2 分組分析示例&#xff1a;按年齡分組計算工資的平均值3.3 時間序列分析4. 數據可視化4.1 基本繪圖示例&#xff1a;…

【AI】AIService(基本使用與指令定制)

【AI】AIService(基本使用與指令定制) 文章目錄【AI】AIService(基本使用與指令定制)1. 簡介2. AIService2.1 引入依賴2.2 編寫AIService接口2.3 測試代碼3. 指令定制3.1 系統提示詞3.2 用戶提示詞1. 簡介 AIService可以被視為應用程序服務層的一個組件&#xff0c;提供對應的…

AAAI趕稿后的心得

總結 已經第三次和老師們一起趕稿了&#xff0c;但是還是紕漏重重&#xff0c;每次都被我的垃圾寫作給嚇到。每次都手忙腳亂找不到重點&#xff0c;唉&#xff0c;我大概這輩子都成為不了郭老師&#xff1a; 自己把故事先捋清楚&#xff1a; 所有的東西都要抽象出來&#xff0c…

書籍推薦算法研究

## 項目概述本項目是一個完整的書籍推薦系統第五版(Complete Book Recommendation System V5),采用混合推薦策略,能夠處理6種不同的用戶場景,提供智能化的書籍推薦服務。## 系統架構### 核心設計思路系統采用**混合推薦策略**,結合了以下幾種推薦算法:1. **協同過濾推薦…

工具自動生成Makefile

cmake 基礎 cmake主要是生成Makefile&#xff0c;以便工程管理&#xff0c;只需要編寫CMakeLists.txt安裝camkesudo apt install cmake 安裝cmake camke --version 查看cmake版本 sudo apt upgrade cmake 升級cmake源碼隔離 在工程文件下創建一個build文件&…

Java項目:基于SSM框架實現的校園活動資訊網管理系統【ssm+B/S架構+源碼+數據庫+畢業論文+遠程部署】

摘 要 使用舊方法對校園活動資訊進行系統化管理已經不再讓人們信賴了&#xff0c;把現在的網絡信息技術運用在校園活動資訊的管理上面可以解決許多信息管理上面的難題&#xff0c;比如處理數據時間很長&#xff0c;數據存在錯誤不能及時糾正等問題。 這次開發的校園活動資訊網…

關于echarts的性能優化考慮

作為資深前端工程師&#xff0c;在處理 ECharts 性能問題時&#xff0c;核心思路是減少渲染壓力、優化數據處理、避免不必要的計算&#xff0c;尤其在大數據量&#xff08;萬級以上&#xff09;、高頻交互或多圖表場景下&#xff0c;性能優化尤為關鍵。以下是實戰中驗證過的有效…