欢迎访问宙启技术站
智能推送

使用sklearn.datasets.samples_generator生成高斯混合数据集

发布时间:2023-12-15 03:31:35

sklearn.datasets.samples_generator是scikit-learn中的一个模块,它可以生成一些常用的数据集。其中的make_gaussian_quantiles函数可以生成一个高斯混合数据集。

make_gaussian_quantiles的参数有n_samples、mean、cov、n_features、n_classes。n_samples表示生成的样本数量,mean是一个数组,表示每个类别的均值,cov也是一个数组,表示每个类别的协方差矩阵,n_features表示每个样本的特征维度,n_classes表示类别数量。

下面我们来看一个使用make_gaussian_quantiles生成高斯混合数据集的例子。

from sklearn.datasets.samples_generator import make_gaussian_quantiles
import matplotlib.pyplot as plt
import numpy as np

# 设置随机数种子,使得结果可以复现
np.random.seed(0)

# 生成一个包含两个类别的高斯混合数据集
X, y = make_gaussian_quantiles(n_samples=1000, mean=[3, 3], cov=[[1, 0], [0, 1]], n_features=2, n_classes=2)

# 绘制散点图,观察生成的数据集
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.show()

在这个例子中,我们生成一个包含两个类别的高斯混合数据集。其中,每个类别的均值分别为(3,3),协方差矩阵为[[1, 0], [0, 1]],样本的特征维度为2,总共生成1000个样本。生成的数据集被保存在变量X中,对应的类别标签保存在变量y中。

最后,我们使用matplotlib库绘制了散点图,将样本的特征X的第一列作为x轴,第二列作为y轴,类别标签y作为颜色标识,可以直观地观察到生成的高斯混合数据集。

通过使用sklearn.datasets.samples_generator的make_gaussian_quantiles函数,我们可以方便地生成高斯混合数据集,用于机器学习模型的训练和测试。