在机器学习中,通常需要先了解训练的数据集,才能决定选择哪种特征预处理方法、哪种模型,以便获得问题的最优解法。最有效的了解训练数据集的方法是可视化训练数据集,从各种可视化的图中观察训练数据集特征。
本文将介绍如何使用Python机器学习库Pandas可视化训练数据集。Pandas是Python中高效的数据加载、数据分析工具,它是基于NumPy实现的,提供了很多有用的函数接口。
引言
本教程将介绍5中常用的机器学习可视化方法,分别如下所示。本教程将分为上下两篇文章进行介绍,本文为上篇,主要介绍前两种可视化方法;后面三种可视化方法将在下篇文章中介绍,欢迎关注我的百家号!
直方图密度图箱线图相关系数矩阵图散点矩阵图上述五种可视化方法可根据变量的维度,将其划分为单变量可视化方法和多变量可视化方法。第1、2、3种方法为单变量可视化方法,第4、5种为多变量可视化方法。
本文使用的数据集来自UCI机器学习库的标准二分类数据集——Pima Indians糖尿病数据集,该数据集描述了印第安人的医疗记录以及每位患者是否在五年内患有糖尿病。该数据集有8个特征和2个类别,每个特征都是数值型,类别为0和1,这是一个非常典型的二分类数据集。
直方图
直方图的优点是能够快速了解每个特征分布情况。
直方图将同一特征的数据分到相同的柱体中,并统计每个柱体的数据量。根据直方图的形状,可以快速了解特征是高斯分布、倾斜分布还是指数分布等。通过直方图还可以观察到数据中的异常值。
使用pandas制作直方图的代码如下所示:
运行代码,将得到如下直方图。从图中可以看出,特征age、pedi和test呈指数分布,特征mass、pres和plas呈高斯分布。
密度图
密度图是另一种快速了解每个特征分布的可视化方法。密度图看起来像将直方图进行抽象化,相当于连接直方图的每个柱体顶部点,最终绘制了一条平滑的曲线。
使用pandas制作密度图的代码如下所示。
运行该代码,将得到如下所示的密度图。从图中更加清晰地看出,特征age、pedi和test呈指数分布,特征mass、pres和plas呈高斯分布。
小结
本文介绍了机器学习中单维变量可视化方法,包括直方图和密度图。直方图相比密度图,前者能够清晰地看出每个取值的数据量,后者能够清晰地看出特征的分布曲线。通过本文的学习,你应该学会了这两种图的代码实现和使用场景。