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

使用sklearn.datasets.samples_generator生成正态分布数据集

发布时间:2023-12-15 03:40:20

sklearn.datasets.samples_generator是scikit-learn库中的一个模块,用于生成各种类型的人工数据集。

正态分布,也称为高斯分布,是最常见的统计分布之一。它具有一个钟形曲线,均值在中心,标准差确定曲线的宽度。使用sklearn.datasets.samples_generator可以轻松地生成符合正态分布的人工数据集。

下面是一个使用sklearn.datasets.samples_generator生成正态分布数据集的示例代码:

import numpy as np
from sklearn.datasets import make_classification

# 生成1000个样本,每个样本包含10个特征
X, y = make_classification(n_samples=1000, n_features=10, random_state=42)

# 查看生成的数据集
print("生成的数据集 X:")
print(X)
print("生成的数据集 y:")
print(y)

在上述代码中,我们导入了必要的库和模块,并使用make_classification函数生成了一个包含1000个样本和10个特征的数据集。该函数还返回一个包含了与每个样本相关联的类别标签的目标向量。

运行上述代码,我们会得到如下输出:

生成的数据集 X:
[[ 1.77644479  0.6340914   1.1866778  ... -1.49961202  1.29532102
   0.88017347]
 [-2.94096196  0.41421912  2.33171159 ...  0.61625381  2.67133285
  -0.97261913]
 [-4.88942595  0.73245007  2.1019318  ...  1.39589484  2.3598851
  -0.81040173]
 ...
 [ 2.12279277  0.66841407  2.0780359  ... -0.60479982 -1.89716762
  -0.45090617]
 [-2.92521679  0.74930517  2.59884133 ... -1.6187596   2.88121298
  -0.64836962]
 [ 0.29959176  0.87883024 -1.32892565 ...  1.77293262 -3.68738026
   0.39598988]]
生成的数据集 y:
[0 1 1 ... 1 1 0]

从输出中可以看出,我们成功地生成了一个包含1000个样本和10个特征的数据集,并且每个样本都有一个与之相关的类别标签。

这个例子展示了如何使用sklearn.datasets.samples_generator生成正态分布的人工数据集。你可以根据自己的需求,调整参数来生成不同规模和特征的数据集,并将其用于机器学习模型的训练和评估。