當前位置:
首頁 > 知識 > 可視化工具Yellowbrick:超參與行為的可視化帶來更優秀的實現

可視化工具Yellowbrick:超參與行為的可視化帶來更優秀的實現

選自GitHub

機器之心編譯

參與:思源、劉曉坤

Yellowbrick 是一套名為「Visualizers」的視覺診斷工具,它擴展了 Scikit-Learn API 以允許我們監督模型的選擇過程。簡而言之,Yellowbrick 將 Scikit-Learn 與 Matplotlib 結合在一起,並以傳統 Scikit-Learn 的方式對模型進行可視化。

項目地址:https://github.com/DistrictDataLabs/yellowbrick

可視化器

可視化器(Visualizers)是一種從數據中學習的估計器,其主要目標是創建可理解模型選擇過程的可視化。在 Scikit-Learn 的術語中,它們類似於轉換器(transformer),其在可視化數據空間或包裝模型估計器上類似「ModelCV」(例如 RidgeCV 和 LassoCV)方法的過程。Yellowbrick 的主要目標是創建一個類似於 Scikit-Learn 的 API,其中一些流行的可視化器包括:

特徵可視化

Rank Features:單個或成對特徵排序以檢測關係

Parallel Coordinates:實例的水平可視化

Radial Visualization:圍繞圓形圖分離實例

PCA Projection:基於主成分分析映射實例

Manifold Visualization:通過流形學習實現高維可視化

Feature Importances:基於模型性能對特徵進行排序

Recursive Feature Elimination:按重要性搜索最佳特徵子集

Scatter and Joint Plots:通過特徵選擇直接進行數據可視化

分類可視化

Class Balance:了解類別分布如何影響模型

Class Prediction Error:展示分類的誤差與主要來源

Classification Report:可視化精度、召回率和 F1 分數的表徵

ROC/AUC Curves:受試者工作曲線和曲線下面積

Confusion Matrices:類別決策制定的視覺描述

Discrimination Threshold:搜索最佳分離二元類別的閾值

回歸可視化

Prediction Error Plots:沿著目標域尋找模型崩潰的原因

Residuals Plot:以殘差的方式展示訓練和測試數據中的差異

Alpha Selection:展示 alpha 的選擇如何影響正則化

聚類可視化

K-Elbow Plot:使用肘法(elbow method)和多個指標來選擇 k

Silhouette Plot:通過可視化輪廓係數值來選擇 k

模型選擇可視化

Validation Curve:對模型的單個超參數進行調整

Learning Curve:展示模型是否能從更多的數據或更低的複雜性中受益

文本可視化

Term Frequency:可視化語料庫中詞項的頻率分布

t-SNE Corpus Visualization:使用隨機近鄰嵌入來投影文檔

還有更多的可視化器!我們隨時會添加更多的可視化器,因此請確保查看示例(或甚至開發分支),並歡迎隨時為我們提供建議!

安裝 Yellowbrick

Yellowbrick 與 Python2.7 以及之後的版本兼容,但使用 Python3.5 或之後的版本會更合適並能利用其所有功能優勢。Yellowbrick 還依賴於 Scikit-Learn 0.18 或之後的版本,以及 Matplotlib1.5 或之後的版本。最簡單的安裝 Yellowbrick 的方法是從 PyPI 使用 pip 安裝。

注意 Yellowbrick 是一個活躍項目,將定期發布更多新的可視化器和更新。為了將 Yellowbrick 升級到最新的版本,按以下方式使用 pip 命令:

你也可以使用-U flag 來更新 Scikit-Learn、Matplotlib 或任何其它和 Yellowbrick 兼容的第三方最新版本應用。

如果你使用 Anaconda(推薦 Windows 用戶使用),你可以使用 conda 命令來安裝 Yellowbrick:

然而請注意,在 Linux 上用 Anaconda 安裝 Yellowbrick 有一個已知的 bug:https://github.com/DistrictDataLabs/yellowbrick/issues/205

使用 Yellowbrick

Yellowbrick API 是特別為更好地使用 Scikit-Learn 而設計的。這裡有一個使用 Scikit-Learn 和 Yellowbrick 的典型工作流序列的例子:

特徵可視化

在這個例子中,我們將看到 Rank2D 如何使用特定指標對數據集中的每個特徵進行兩兩對比,然後返回展示排序的左下三角圖。

模型可視化

在這個例子中,我們用具體例子來說明一個 Scikit-Learn 分類器,然後使用 Yellowbrick 的 ROCAUC 類來可視化分類器的敏感性和特異性的權衡過程。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

直接建模視覺智能體?讓「小狗」動起來
ATEC 螞蟻人工智慧大賽

TAG:機器之心 |