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

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

Yellowbrick简介

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


安装

pip install -U yellowbrick
复制代码


虽然Yellowbrick提供了颜色、大小和标题等参数来帮助你自定义绘图。 但是,有时您只想用一行代码绘制一个图形。Yellowbrick提供了许多一行代码即可可视化的工具。

下面将展示一些流行的用于特征分析、分类、回归、聚类和目标评估的可视化工具。

特征分析可视化

Rank1D/Rank2D

默认情况下,Rank1D使用Shapiro-Wilk算法来评估特征分布的正态性。然后绘制条形图,显示每个特征的相对等级。

Shapiro-Wilk算法从统计学意义上将样本分布与正态分布进行比较,以确定数据是否显示出与正态性的偏离或符合。

from yellowbrick.features import rank1d
from yellowbrick.datasets import load_energy
X, _ = load_energy()
visualizer = rank1d(X, color="r")
复制代码


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


默认情况下,Rank2D可视化工具使用皮尔逊相关系数检测两个特征之间的相关性。

from yellowbrick.features import rank2d
from yellowbrick.datasets import load_credit
X, _ = load_credit()
print(X[['limit','sex', 'edu']].head())
visualizer = rank2d(X)
复制代码


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


平行坐标(Parallel Coordinates)

平行坐标是多维特征可视化技术,其中垂直轴(Y轴)为每个特征的值,Y轴表示特征。折线的颜色表示目标值。这允许一次性可视化多个维度;事实上,给定无限的水平空间(例如滚动窗口),技术上可以显示无限数量的维度!

from sklearn.datasets import load_wine
from yellowbrick.features import parallel_coordinates
X, y = load_wine(return_X_y=True)
print(X.shape,y.shape) #(178, 13) (178,)
visualizer = parallel_coordinates(X, y, normalize="standard")
复制代码


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


径向坐标可视化(Radial Visualization)

RadViz 是一种多元数据可视化算法,它围绕圆的圆周均匀地绘制每个特征维度,然后在圆的内部绘制点,以便该点在从中心到每个弧的轴上对其值进行归一化。 这种机制允许尽可能多的维度可以很容易地放在一个圆上,大大扩展了可视化的维度。

数据科学家使用这种方法来检测类之间的可分离性。例如 是否有机会从特征集中学习,还是噪音太大?

如果您的数据包含具有缺失值的行 (numpy.nan),则不会绘制这些缺失值。 换句话说,您可能无法获得数据的全貌。 RadViz 将发出 DataWarning 警告,告诉您丢失的百分比。

如果您收到此警告,则可能需要查看插补策略。 具体如何填充缺失值请参考:scikit-learn Imputer

from yellowbrick.features import radviz
from yellowbrick.datasets import load_occupancy
X, y = load_occupancy()
visualizer = radviz(X, y, colors=["maroon", "gold"])
复制代码


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


PCA

PCA 分解可视化器利用主成分分析将高维数据分解为两个或三个维度,以便可以将每个实例绘制在散点图中。 PCA 的使用意味着这些投影的数据集可以沿着主要变化的轴进行分析,并且可以被解释,以确定是否可以利用球面距离度量。

from yellowbrick.datasets import load_spam
from yellowbrick.features import pca_decomposition
X, y = load_spam()
print(X.shape,y.shape) # (4600, 57) (4600,)
visualizer = pca_decomposition(X, y)
复制代码


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


流形(Manifold)

流形可视化工具使用流形学习将多维度描述的实例嵌入到2维,提供高维可视化。从而允许创建散点图来显示数据中的潜在结构。

与 PCA 和 SVD 等分解方法不同,流形通常使用最近邻方法进行嵌入,允许他们捕获会丢失的非线性结构。然后可以分析生成的投影的噪声或可分离性,以确定是否可以在数据中创建决策空间。

from sklearn.datasets import load_iris
from yellowbrick.features import manifold_embedding
X, y = load_iris(return_X_y=True)
visualizer = manifold_embedding(X, y)
复制代码


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


相关文章
|
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

热门文章

最新文章

  • 1
    机器学习实战:房价预测项目
    202
  • 2
    强化学习(Reinforcement Learning, RL)** 是一种机器学习技术,其中智能体(Agent)通过与环境(Environment)交互来学习如何执行决策以最大化累积奖励。
    77
  • 3
    集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
    219
  • 4
    `sklearn.metrics`是scikit-learn库中用于评估机器学习模型性能的模块。它提供了多种评估指标,如准确率、精确率、召回率、F1分数、混淆矩阵等。这些指标可以帮助我们了解模型的性能,以便进行模型选择和调优。
    454
  • 5
    在机器学习和数据科学中,数据预处理是一个至关重要的步骤。数据规范化(或称为特征缩放)是预处理的一种常见技术,它可以帮助我们改进模型的性能。`sklearn.preprocessing`模块提供了多种数据规范化的方法,其中`StandardScaler`和`MinMaxScaler`是最常用的两种。
    89
  • 6
    在人工智能和机器学习的领域中,语音识别(Speech Recognition,SR)是一个重要的研究方向。它旨在将人类的语音转换为计算机可读的文本。
    106
  • 7
    OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
    121
  • 8
    驾驭大数据洪流:Pandas与NumPy在高效数据处理与机器学习中的核心作用
    84
  • 9
    探索机器学习在图像识别中的应用
    53
  • 10
    智能化运维:机器学习在故障预测和自动化修复中的应用
    66