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

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


预测误差图(Prediction Error)

预测误差图显示了数据集中的实际目标与我们的模型生成的预测值。 这使我们能够看到模型中有多少方差。

数据科学家可以使用此图通过与45度线进行比较来诊断回归模型,那个地方预测结果完全的匹配模型。


from sklearn.linear_model import Lasso
from yellowbrick.datasets import load_bikeshare
from yellowbrick.regressor import prediction_error
X, y = load_bikeshare()
visualizer = prediction_error(Lasso(), X, y)
复制代码


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


库克距离(Cooks Distance)

Cook距离是统计分析中一种常见的距离,用于诊断各种回归分析中是否存在异常数据。

具有较大影响的实例可能是异常值,并且具有大量高影响点的数据集可能不适合线性回归,而无需进一步处理,例如去除异常值或插补。

CooksDistance 可视化器按索引显示所有实例的茎图及其相关距离分数,以及启发式阈值,以快速显示数据集的百分比可能会影响 OLS 回归模型。

from sklearn.datasets import load_diabetes
from yellowbrick.regressor import cooks_distance
X, y = load_diabetes(return_X_y=True)
visualizer = cooks_distance(X, y)
复制代码


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


聚类模型可视化

轮廓系数(Silhouette Scores)

当关于数据集的真实情况未知时,使用轮廓系数,并对模型聚类密度的估算进行计算。 该分数是通过对每个样本的轮廓系数求平均值来计算的,计算为每个样本的平均簇内距离和平均最近簇距离之间的差异,并对最大值归一化。这会产生介于 1 和 -1 之间的分数,其中 1 是高度密集的聚类,而 -1 是完全不正确的聚类。

Silhouette可视化器在每个簇的基础上显示每个样本的轮廓系数,可视化哪些簇是密集的,哪些不是。这对于确定聚类不平衡或通过比较多个可视化工具为选择值特别有用。

from sklearn.cluster import KMeans
from yellowbrick.datasets import load_nfl
from yellowbrick.cluster import silhouette_visualizer
X, y = load_nfl()
visualizer = silhouette_visualizer(KMeans(5, random_state=42), X)
复制代码


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


簇间距离图(Intercluster Distance)

簇间距离图显示了簇中心在二维中的嵌入,并保留了与其他中心的距离。

例如,在可视化中越靠近中心,它们就越靠近原始特征空间。根据评分指标来确定簇的大小。

默认情况下,它们按成员身份确定大小,例如,属于每个中心的实例数。这给出了簇的相对重要性的理解。

注意:

因为两个簇在 2D 空间中重叠,所以并不意味着它们在原始特征空间中重叠。

from yellowbrick.datasets import load_nfl
from sklearn.cluster import MiniBatchKMeans
from yellowbrick.cluster import intercluster_distance
X, y = load_nfl()
visualizer = intercluster_distance(MiniBatchKMeans(5, random_state=777), X)
复制代码


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

网络异常,图片无法展示
|
目标值分析

类平衡(ClassBalance)

分类模型的最大挑战之一是训练数据中的类不平衡。严重的类不平衡可能会被相对较好的 F1 和准确度分数所掩盖。

分类器只是猜测多数类,而不是对代表性不足的类进行任何评估。

有几种处理类别不平衡的技术,例如分层抽样、对多数类别进行下采样、加权等。

但在采取这些行动之前,了解训练数据中的类别平衡是什么很重要。

ClassBalance 可视化工具通过为每个类创建一个条形图来了解类别的平衡,即类在数据集中的表示频率。

from yellowbrick.datasets import load_game
from yellowbrick.target import class_balance
X, y = load_game()
visualizer = class_balance(y, labels=["draw", "loss", "win"])
复制代码


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


总结

Yellowbrick这个工具包,给我们机器学习建模带来了极大地便利。一是因为解决了特征工程和建模过程中的可视化问题,极大地简化了操作;二是通过各种可视化也可以补充自己对建模的一些盲区。这里只介绍了Yellowbrick的冰山一角,详情请参见官网。

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

热门文章

最新文章