机器学习可视化利器-Yellowbrick(中)

简介: Yellowbrick简介Yellowbrick是一款用于促进机器学习模型选择的可视化分析和诊断工具。它在scikit-learn的api基础上做了扩展,能让我们更容易的驾驭模型优化阶段。简而言之,yellowbrick将scikit-learn和matplotlib有机结合起来,通过可视化方式帮助我们优化模型。

分类模型可视化

类别预测误差(Class Prediction Error)

ClassPredictionError图将拟合分类模型中每个类的支持度(训练样本数),并显示为堆叠条形图。 每个条形都被分段以显示每个类别的预测比例(包括假阴性和假阳性,如混淆矩阵)。

您可以使用 ClassPredictionError 来可视化您的分类器遇到特别困难的类别,

更重要的是,它在每个类的基础上给出了哪些不正确的答案。 这通常可以让您更好地了解不同模型的优缺点以及数据集特有的特定挑战。

类别预测误差图提供了一种方法来快速了解分类器在预测正确类别方面的效果。

from yellowbrick.datasets import load_game
from sklearn.preprocessing import OneHotEncoder
from sklearn.ensemble import RandomForestClassifier
from yellowbrick.classifier import class_prediction_error
X, y = load_game()
X = OneHotEncoder().fit_transform(X)
visualizer = class_prediction_error(
    RandomForestClassifier(n_estimators=10), X, y
)
复制代码


网络异常,图片无法展示
|


分类报告(Classification Report)

分类报告可视化器显示模型的准确率、召回率、F1分数。 为了更容易的解释和问题检测,该报告将数字分数与颜色编码的热图相结合。 所有热图都在 (0.0, 1.0) 范围内,以便于在不同分类报告之间轻松比较分类模型。

from yellowbrick.datasets import load_credit
from sklearn.ensemble import RandomForestClassifier
from yellowbrick.classifier import classification_report
X, y = load_credit()
visualizer = classification_report(
    RandomForestClassifier(n_estimators=10), X, y
)
复制代码


网络异常,图片无法展示
|

网络异常,图片无法展示
|
混淆矩阵(Confusion Matrix)

ConfusionMatrix 可视化器是一个 ScoreVisualizer,它使用拟合的 scikit-learn 分类器和一组测试 X 和 y 值,然后返回一个报告,显示每个测试值预测的类别与其实际类别的比较情况。

数据科学家使用混淆矩阵来了解哪些类最容易混淆。

from yellowbrick.datasets import load_game
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import RidgeClassifier
from yellowbrick.classifier import confusion_matrix
X, y = load_game()
X = OneHotEncoder().fit_transform(X)
visualizer = confusion_matrix(RidgeClassifier(), X, y, cmap="Greens")
复制代码


网络异常,图片无法展示
|


精确率/召回率曲线(Precision/Recall)

PrecisionRecallCurve 显示了分类器精度(结果相关性的度量)和召回率(完整性的度量)之间的权衡。

对于每个类别,精度定义为真阳性与真假阳性总和的比率,召回率是真阳性与真阳性和假阴性总和的比率。

from sklearn.naive_bayes import GaussianNB
from yellowbrick.datasets import load_occupancy
from yellowbrick.classifier import precision_recall_curve
X, y = load_occupancy()
visualizer = precision_recall_curve(GaussianNB(), X, y)
复制代码


网络异常,图片无法展示
|


ROC/AUC

ROC/AUC图是用户可视化分类器的灵敏度和特异性之间的权衡。

ROC是分类器预测质量的度量,它比较可视化模型的灵敏度和特异性之间的权衡。绘制时,ROC 曲线在 Y 轴上显示真阳性率,在 X 轴上显示每个类别的假阳性率。因此,理想点是图的左上角:假阳性为零,真阳性为 1。

另一个度量,即曲线下面积 (AUC),它是对假阳性和真阳性之间关系的计算。 AUC 越高,模型通常越好。然而,检查曲线的“陡度”也很重要,因为这描述了真阳性率的最大化,同时,假阳性率的最小化。

from yellowbrick.classifier import roc_auc
from yellowbrick.datasets import load_spam
from sklearn.linear_model import LogisticRegression
X, y = load_spam()
visualizer = roc_auc(LogisticRegression(), X, y)
复制代码


网络异常,图片无法展示
|

网络异常,图片无法展示
|
判别阈值(Discrimination Threshold)

精度、召回率、f1 分数等指标是对二元分类器的判别阈值的可视化。

判别阈值是选择正类而不是负类的概率或分数。 通常,这设置为 50%,但可以调整阈值以增加或减少对误报或其他应用程序因素的敏感度。

from yellowbrick.classifier import discrimination_threshold
from sklearn.linear_model import LogisticRegression
from yellowbrick.datasets import load_spam
X, y = load_spam()
visualizer = discrimination_threshold(
    LogisticRegression(multi_class="auto", solver="liblinear"), X, y
)
复制代码


网络异常,图片无法展示
|

网络异常,图片无法展示
|
回归模型可视化

残差图(Residuals Plot)

在回归模型的上下文中,残差是目标变量的观测值 (y) 与预测值 (ŷ) 之间的差异,即预测的误差。

残差图显示了纵轴上的残差和横轴上的因变量之间的差异,使您可以检测目标内可能容易受到或多或少误差影响的区域。


from sklearn.linear_model import Ridge
from yellowbrick.datasets import load_concrete
from yellowbrick.regressor import residuals_plot
X, y = load_concrete()
visualizer = residuals_plot(
    Ridge(), X, y, train_color="maroon", test_color="gold"
)
复制代码

网络异常,图片无法展示
|

相关文章
|
7月前
|
机器学习/深度学习 数据可视化 算法
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
663 1
|
7月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
121 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
7月前
|
机器学习/深度学习 数据可视化 Python
机器学习之利用线性回归预测波士顿房价和可视化分析影响房价因素实战(python实现 附源码 超详细)
机器学习之利用线性回归预测波士顿房价和可视化分析影响房价因素实战(python实现 附源码 超详细)
457 0
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
193 4
|
5月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
85 1
|
3月前
|
机器学习/深度学习 数据可视化 JavaScript
探索机器学习模型的可视化技术
【9月更文挑战第23天】在数据科学中,理解和解释机器学习模型的决策过程是至关重要的。本文将介绍几种流行的可视化工具和库,如TensorBoard、D3.js等,帮助读者更好地理解模型内部工作原理及其预测结果。通过实例演示如何使用这些工具进行模型可视化,增强模型的可解释性。
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于python 机器学习算法的二手房房价可视化和预测系统
文章介绍了一个基于Python机器学习算法的二手房房价可视化和预测系统,涵盖了爬虫数据采集、数据处理分析、机器学习预测以及Flask Web部署等模块。
120 2
基于python 机器学习算法的二手房房价可视化和预测系统
|
4月前
|
机器学习/深度学习 数据可视化 搜索推荐
【python机器学习】python电商数据K-Means聚类分析可视化(源码+数据集+报告)【独一无二】
【python机器学习】python电商数据K-Means聚类分析可视化(源码+数据集+报告)【独一无二】
159 0
|
5月前
|
机器学习/深度学习 数据可视化 TensorFlow
探索机器学习模型的可视化:从理论到实践
【7月更文挑战第31天】本文将深入探讨如何通过可视化技术来理解和解释复杂的机器学习模型。我们将介绍多种可视化工具和方法,并通过实际代码示例展示如何应用这些技术来揭示模型的内部工作原理。文章旨在为读者提供一种直观的方式来理解、调试和优化他们的机器学习模型。
46 0