数据可视化示例

机器学习和数据科学领域,数据可视化是一种重要的工具,它可以帮助理解数据的分布和特征。本文将介绍如何使用Python的matplotlibsklearn库来生成和展示不同的数据集可视化图表。这些图表将展示数据点在二维空间中的分布,其中每个点的颜色代表其类别标签。

为了简化可视化,所有数据集都只有两个特征,分别在x轴和y轴上表示。将使用不同的参数生成多个数据集,并通过散点图展示它们。首先,将使用make_classification函数生成具有不同数量信息特征、每个类别的簇数和类别数量的数据集。然后,将使用make_blobsmake_gaussian_quantiles函数生成另外两个数据集

以下是生成这些数据集并进行可视化的Python代码示例:

import matplotlib.pyplot as plt from sklearn.datasets import make_blobs, make_classification, make_gaussian_quantiles plt.figure(figsize=(8, 8)) plt.subplots_adjust(bottom=0.05, top=0.9, left=0.05, right=0.95) # 生成具有一个信息特征和每个类别一个簇的数据集 plt.subplot(321) plt.title("一个信息特征,每个类别一个簇", fontsize="small") X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=1, n_clusters_per_class=1) plt.scatter(X1[:,0], X1[:,1], marker="o", c=Y1, s=25, edgecolor="k") # 生成具有两个信息特征和每个类别一个簇的数据集 plt.subplot(322) plt.title("两个信息特征,每个类别一个簇", fontsize="small") X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=1) plt.scatter(X1[:,0], X1[:,1], marker="o", c=Y1, s=25, edgecolor="k") # 生成具有两个信息特征和每个类别两个簇的数据集 plt.subplot(323) plt.title("两个信息特征,每个类别两个簇", fontsize="small") X2, Y2 = make_classification(n_features=2, n_redundant=0, n_informative=2) plt.scatter(X2[:,0], X2[:,1], marker="o", c=Y2, s=25, edgecolor="k") # 生成具有三个类别、两个信息特征和每个类别一个簇的数据集 plt.subplot(324) plt.title("多类别,两个信息特征,每个类别一个簇", fontsize="small") X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=1, n_classes=3) plt.scatter(X1[:,0], X1[:,1], marker="o", c=Y1, s=25, edgecolor="k") # 生成具有三个中心的“blobs”数据集 plt.subplot(325) plt.title("三个数据簇", fontsize="small") X1, Y1 = make_blobs(n_features=2, centers=3) plt.scatter(X1[:,0], X1[:,1], marker="o", c=Y1, s=25, edgecolor="k") # 生成将高斯分布分为三个分位数的数据集 plt.subplot(326) plt.title("高斯分布分为三个分位数", fontsize="small") X1, Y1 = make_gaussian_quantiles(n_features=2, n_classes=3) plt.scatter(X1[:,0], X1[:,1], marker="o", c=Y1, s=25, edgecolor="k") plt.show()

这段代码首先导入了必要的库,然后设置了图表的大小和布局。接着,它使用不同的参数调用了make_classificationmake_blobsmake_gaussian_quantiles函数来生成数据集,并使用scatter函数将这些数据集绘制为散点图。每个子图都设置了标题和字体大小,以便清晰地展示不同的数据集特征。最后,使用show函数显示所有图表。

这些图表可以帮助直观地理解数据集的结构和分布,例如,可以看到不同数量的信息特征如何影响数据点的分布,以及不同类别的数据点如何聚集在一起。此外,通过比较不同图表,还可以观察到不同数据生成方法对数据分布的影响。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485