Evidently:一個神奇的Python庫,機器學習必備!

Evidently 是一個面向數據科學家和機器學習工程師的開源 Python 庫。它有助于評估、測試和監控從驗證到生產的數據和 ML 模型。它適用于表格、文本數據和嵌入。

簡介

Evidently 是一個開源的 Python 工具,旨在幫助構建對機器學習模型的監控,以確保它們的質量和在生產環境運行的穩定性。

它可以用于模型生命周期的多個階段:作為 notebook 中檢查模型的儀表板,作為 pipeline 的一部分,或者作為部署后的監控。

Evidently 特別關注模型漂移,同時也提供了模型質量檢查、數據質量檢查和目標漂變監測等功能。此外,它還提供了多種內置的指標、可視化圖形和測試,可以輕松地放入報告、儀表板或測試驅動的 pipeline 中。

功能

Evidently采用了由 3 個組件組成的模塊化方法:報告、測試套件和監控儀表板。

它們涵蓋不同的使用場景:從臨時分析到自動化管道測試和持續監控。

1. 測試套件:批量模型檢查

圖片

測試執行結構化數據和機器學習模型質量檢查,可以手動設置條件,也可以讓 Evidently 根據參考數據集生成條件,返回明確的通過或失敗結果。可以從 50 多個測試創建測試套件或運行預設之一。例如,測試數據穩定性或回歸性能。

輸入:一個或兩個數據集,如 pandas.DataFrames 或 csv。

獲取輸出:在 Jupyter Notebook 或 Colab 中,導出 HTML、JSON 或 Python 字典。

主要用例:基于測試的機器學習監控,以將測試作為機器學習管道中的一個步驟來運行。例如,當收到一批新的數據、標簽或生成預測時。可以根據結果構建條件工作流程,例如觸發警報、重新訓練或獲取報告。

2. 報告:交互式可視化

圖片

計算各種指標并提供豐富的交互式可視化報告,可以根據各個指標創建自定義報告,或運行涵蓋模型或數據性能特定方面的預設。例如,數據質量或分類性能。

輸入:一個或兩個數據集,如 pandas.DataFrames 或 csv。

如何獲取輸出:在 Jupyter Notebook 或 Colab 中,導出 HTML 文件、JSON 或 Python 字典。

主要用例:分析和探索,有助于直觀地評估數據或模型性能。例如,在探索性數據分析期間、對訓練集進行模型評估、調試模型質量衰減時或比較多個模型時。

3. 機器學習監控儀表板

圖片

您可以自行托管機器學習監控儀表板,以隨著時間的推移可視化指標和測試結果。此功能位于報告和測試套件之上,必須將它們的輸出存儲為 Evidently JSON snapshots,作為 Evidently Monitoring UI 的數據源。

輸入:snapshots,記錄到對象存儲中。

輸出:可作為網絡應用程序使用的自托管儀表板。

主要用例:當需要實時儀表板來查看一段時間內的所有模型和指標時,持續監控。

安裝&使用

pip install evidently
pip install jupyter
# 安裝 jupyter Nbextion
pip install jupyter_contrib_nbextensions
# 在 jupyter 擴展中安裝并啟用 evidently
jupyter nbextension install --sys-prefix --symlink --overwrite --py evidently
jupyter nbextension enable evidently --py --sys-prefix

大部分情況下,需要在Jupyter notebook中使用。

使用步驟很簡單,一般分三步:1、導入模塊 2、處理數據 3、獲取報告

舉個例子,先導入所需模塊

import pandas as pd
import numpy as npfrom sklearn.datasets import fetch_california_housingfrom evidently import ColumnMappingfrom evidently.report import Report
from evidently.metrics.base_metric import generate_column_metrics
from evidently.metric_preset import DataDriftPreset, TargetDriftPreset, DataQualityPreset, RegressionPreset
from evidently.metrics import *from evidently.test_suite import TestSuite
from evidently.tests.base_test import generate_column_tests
from evidently.test_preset import DataStabilityTestPreset, NoTargetPerformanceTestPreset
from evidently.tests import *

導入和處理數據

data = fetch_california_housing(as_frame=True)
housing_data = data.framehousing_data.rename(columns={'MedHouseVal': 'target'}, inplace=True)
housing_data['prediction'] = housing_data['target'].values + np.random.normal(0, 5, housing_data.shape[0])reference = housing_data.sample(n=5000, replace=False)
current = housing_data.sample(n=5000, replace=False)

獲取報告

report = Report(metrics=[DataDriftPreset(),
])report.run(reference_data=reference, current_data=current)
report

圖片

官方提供了很多獲取報告的代碼模板:https://docs.evidentlyai.com/presets/all-presets

evidently 功能十分強大,這里展示的只是其能力的冰山一角。了解更多,可以參考以下鏈接:

官網:https://www.evidentlyai.com/

文檔:https://docs.evidentlyai.com/

開源地址:https://github.com/evidentlyai/evidently

材料獲取

技術要學會分享、交流,不建議閉門造車。一個人可以走的很快、一堆人可以走的更遠。

資料干貨、資料分享、數據、技術交流提升,均可加交流群獲取,群友已超過2000人,添加時最好的備注方式為:來源+興趣方向,方便找到志同道合的朋友。

方式①、添加微信號:dkl88194,備注:來自CSDN + 資料
方式②、微信搜索公眾號:Python學習與數據挖掘,后臺回復: 資料

1、數據分析實戰寶典
在這里插入圖片描述

2、100個超強算法模型

我們打造了《100個超強算法模型》,特點:從0到1輕松學習,原理、代碼、案例應有盡有,所有的算法模型都是按照這樣的節奏進行表述,所以是一套完完整整的案例庫。

很多初學者是有這么一個痛點,就是案例,案例的完整性直接影響同學的興致。因此,我整理了 100個最常見的算法模型,在你的學習路上助推一把!

在這里插入圖片描述

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

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

相關文章

2024年網絡安全競賽-A模塊任務解析報告單(詳細每一步)

2024年網絡安全競賽-A模塊任務 一、項目和任務描述: 假定你是某企業的網絡安全工程師,對于企業的服務器系統,根據任務要求確保各服務正常運行,并通過綜合運用登錄和密碼策略、流量完整性保護策略、事件監控策略、防火墻策略等多種安全策略來提升服務器系統的網絡安全防御能…

MyBatis參數獲取和傳遞

1、參數獲取方式 MyBatis可以通過以下兩種方式獲取參數值: #{變量名} 本質是占位符賦值 ${變量名} 本質是字符串拼接,如果拼接的是字符串類型或日期類型,則需要手動添加單引號 2、參數獲取的幾種情況: 2.1 mapper接口方法的參數為單個字…

判斷一個Series序列的值是否為單調遞減Series.is_monotonic_decreasing

【小白從小學Python、C、Java】 【計算機等考500強證書考研】 【Python-數據分析】 判斷一個Series序列中 各值是否單調遞減 s.is_monotonic_decreasing [太陽]選擇題 以下代碼的輸出結果中正確的是? import pandas as pd s1 pd.Series([3,2,1]) s2 pd.Series([3,2,4]) pri…

【代碼隨想錄】算法訓練計劃41

dp 1、343. 整數拆分 題目: 給定一個正整數 n ,將其拆分為 k 個 正整數 的和( k > 2 ),并使這些整數的乘積最大化。 返回 你可以獲得的最大乘積 。 輸入: n 10 輸出: 36 解釋: 10 3 3 4, 3 3 4 36。 思路…

Kotlin Flow 操作符

前言 Kotlin 擁有函數式編程的能力,使用Kotlin開發,可以簡化開發代碼,層次清晰,利于閱讀。 然而Kotlin擁有操作符很多,其中就包括了flow。Kotlin Flow 如此受歡迎大部分歸功于其豐富、簡潔的操作符,巧妙使…

【矩陣論】Chapter 7—Hermite矩陣與正定矩陣知識點總結復習

文章目錄 1 Hermite矩陣2 Hermite二次型3 Hermite正定(非負定矩陣)4 矩陣不等式 1 Hermite矩陣 定義 設 A A A為 n n n階方陣,如果稱 A A A為Hermite矩陣,則需滿足 A H A A^HA AHA,其中 A H A^H AH表示 A A A的共軛轉…

數據結構入門————樹(C語言/零基礎/小白/新手+模擬實現+例題講解)

目錄 1. 樹的概念及其結構 1.1 樹的概念: 1.2 樹的相關概念: 1.3 樹的表示方法: ?編輯 1.4 樹的應用: 2. 二叉樹的概念及其結構 2.1 概念: 2.2 特點: 2.3 特殊二叉樹: 2.4 二叉樹的性質&#xf…

【深度學習】注意力機制(一)

本文介紹一些注意力機制的實現,包括SE/ECA/GE/A2-Net/GC/CBAM。 目錄 一、SE(Squeeze-and-Excitation) 二、ECA(Efficient Channel Attention) 三、GE(Gather-Excite) 四、A2-Net(Double A…

二維碼智慧門牌管理系統升級解決方案:數字鑒權

文章目錄 前言一、數字鑒權的核心機制二、數字鑒權的意義和應用 前言 隨著科技的飛速發展,我們的生活逐漸進入數字化時代。在這個數字化的過程中,數據的安全性和門牌信息的保障變得至關重要。今天,我們要介紹的是二維碼智慧門牌管理系統升級…

【論文復現】zoedepth踩坑

注意模型IO: 保證輸入、輸出精度、類型與復現目標一致。 模型推理的代碼 from torchvision import transforms def image_to_tensor(img_path, unsqueezeTrue):rgb transforms.ToTensor()(Image.open(img_path))if unsqueeze:rgb rgb.unsqueeze(0)return rgbdef…

dockerdesktop 導出鏡像,導入鏡像

總體思路 備份時 容器 > 鏡像 > 本地文件 恢復時 本地文件 > 鏡像 > 容器 備份步驟 首先,把容器生成為鏡像 docker commit [容器名稱] [鏡像名稱] 示例 docker commit nginx mynginx然后,把鏡像備份為本地文件,如果使用的是Docker Desktop,打包備份的文件會自動存…

機器學習筆記 - 基于C# + .net framework 4.8的ONNX Runtime進行分類推理

該示例是從官方抄的,演示了如何使用 Onnx Runtime C# API 運行預訓練的 ResNet50 v2 ONNX 模型。 我這里的環境基于.net framework 4.8的一個winform項目,主要依賴下面版本的相關庫。 Microsoft.Bcl.Numerics.8.0.0 Microsoft.ML.OnnxRuntime.Gpu.1.16.3 SixLabors.ImageShar…

MyString:string類的模擬實現 1

MyString:string類的模擬實現 前言: 為了區分標準庫中的string,避免編譯沖突,使用命名空間 MyString。 namespace MyString {class string{private:char* _str;size_t _size;size_t _capacity;const static size_t npos -1;// C標…

2023年 - 我的程序員之旅和成長故事

2023年 - 我的程序員之旅和成長故事 🔥 1.前言 大家好,我是Leo哥🫣🫣🫣,今天咱們不聊技術,聊聊我自己,聊聊我從2023年年初到現在的一些經歷和故事,我也很愿意我的故事分…

TS學習——快速入門

TypeScript簡介 TypeScript是JavaScript的超集。它對JS進行了擴展,向JS中引入了類型的概念,并添加了許多新的特性。TS代碼需要通過編譯器編譯為JS,然后再交由JS解析器執行。TS完全兼容JS,換言之,任何的JS代碼都可以直…

Android 樣式小結

關于作者:CSDN內容合伙人、技術專家, 從零開始做日活千萬級APP。 專注于分享各領域原創系列文章 ,擅長java后端、移動開發、商業變現、人工智能等,希望大家多多支持。 目錄 一、導讀二、概覽三、使用3.1 創建并應用樣式3.2 創建并…

DJI ONBOARD SDK—— 基礎控制功能 Joystick的講解,使用和擴展

DJI ONBOARD SDK/DJI OSDK ROS—— 基礎控制功能 Joystick的使用 概述 使用OSDK/OSDK_ROS 的無人機飛行控制功能,能夠設置并獲取無人機各項基礎參數,控制無人機執行基礎飛行動作,通過Joystick 功能控制無人機執行復雜的飛行動作。 Joystic…

【精彩回顧】恒拓高科亮相第十一屆深圳軍博會

2023年12月6日-8日,由中國和平利用軍工技術協會、全國工商聯科技裝備業商會、深圳市國防科技工業協會等單位主辦以及政府相關部門支持,深圳企發展覽有限公司承的“2023第11屆中國(深圳)軍民兩用科技裝備博覽會(深圳軍博…

02 CSS基礎入門

文章目錄 一、CSS介紹1. 簡介2. 相關網站3. HTML引入方式 二、選擇器1. 標簽選擇器2. 類選擇器3. ID選擇器4. 群組選擇器 四、樣式1. 字體樣式2. 文本樣式3. 邊框樣式4. 表格樣式 五、模型和布局1. 盒子模型2. 網頁布局 一、CSS介紹 1. 簡介 CSS主要用于控制網頁的外觀&#…

C#如何使用SqlSugar操作MySQL/SQL Server數據庫

一. SqlSugar 連接MySQL數據庫 public class MySqlCNHelper : Singleton<MySqlCNHelper>{public static SqlSugarClient CnDB;public void InitDB() {//--------------------MySQL--------------------CnDB new SqlSugarClient(new ConnectionConfig(){ConnectionString…