在我们进行机器学习训练时,通常或使用一些可视化工具来帮助我们更直观的了解模型训练的效果,下面我们介绍几种常用的机器学习可视化工具。
1
TSNE
TSNE是一个聚类结果可视化工具,主要用于高维数据的可视化。通常输入的特征数是高维的,一般很难直接以原特征对聚类结果进行展示,而TSNE可以将高维数据降维到2维或3维的空间中展示结果。
使用示例
可以直接在sklearn中调用TSNE,同时我们借助sklearn中的鸢尾花数据集来示范TSNE用法。
可视化结果
2
Yellowbrick
Yellowbrick 是一套名为「Visualizers」的视觉诊断工具,它扩展了 Scikit-Learn API 以允许我们监督模型的选择过程。简而言之,Yellowbrick 将 Scikit-Learn 与 Matplotlib 结合在一起,并以传统 Scikit-Learn 的方式对模型进行可视化。Yellowbrick 与 Python2.7 以及之后的版本兼容,但使用 Python3.5 或之后的版本会更合适并能利用其所有功能优势。Yellowbrick 还依赖于 Scikit-Learn 0.18 或之后的版本,以及 Matplotlib1.5 或之后的版本。最简单的安装 Yellowbrick 的方法是从 PyPI 使用 pip 安装。
pip install yellowbrick
使用示例
特征可视化
在这个例子中,我们将看到 Rank2D 如何使用特定指标对数据集中的每个特征进行两两对比,然后返回展示排序的左下三角图。
模型可视化
在这个例子中,我们用具体例子来说明一个 Scikit-Learn 分类器,然后使用 Yellowbrick 的 ROCAUC 类来可视化分类器的敏感性和特异性的权衡过程。
3
混淆矩阵
在sklearn库中提供混淆矩阵函数confusion_matrix,主要是分类问题中通过计算混淆矩阵,用来计算分类准确率。
使用示例
通过使用sklearn中自带的数据据,用向量机进行分类后通过混淆矩阵展示分类结果。
示例结果
4
Live Loss Plot
实时损失曲线图(Live Loss Plot)是由 PiotrMigdał等人开发了一个Python源代码包,可以为Keras,PyTorch和其他框架提供实时训练损失的曲线。在训练模型的时候最好不要只关注最终的结果,耐心观察整个训练过程,查看每个epoch的训练结果,弄清楚模型的训练曲线是否正常,是否出现过拟合等现象。当使用的是Keras深度学习框架时,实时损失曲线图可以简单地通过以下回调函数调用。
使用示例
结果
5
Parfit
该项目由Jason Carpenter开发,他是旧金山大学数据科学专业的硕士,目前是Manifold的机器学习实习生。该项目是用于并行化Sklearn机器学习模型的拟合和灵活评分的数据包,具有可视化的功能。一旦导入该数据包,就可以自由使用bestFit()或其他功能。
使用示例
领取专属 10元无门槛券
私享最新 技术干货