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

在Python中使用sklearn.datasets.samples_generator生成样本数据

发布时间:2023-12-15 03:26:53

在Python中,使用sklearn.datasets.samples_generator模块可以生成各种类型的样本数据。

sklearn.datasets.samples_generator模块中的函数make_classification可以用于生成分类数据集。以下是使用该函数生成分类数据集的示例代码:

from sklearn.datasets.samples_generator import make_classification

X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_classes=2)

print("生成的数据集X:")
print(X[:5])  # 打印前5个样本

print("
生成的标签y:")
print(y[:5])  # 打印前5个标签

运行上述代码,将生成包含1000个样本、10个特征以及2类标签的分类数据集。输出结果如下:

生成的数据集X:
[[ 0.21738819  0.06662246 -0.91830911  0.79352443  1.66859209  0.84946971
   0.71323497 -0.73327165  0.39501438  0.17302527]
 [-0.15212568 -1.34725211  0.92777237  0.06931858  0.10514814 -0.65809085
   0.84648959  0.93082079 -0.3969853   0.28850208]
 [ 0.97540392 -1.23415125  1.35204038 -1.31793876  1.99511956 -0.47429002
   0.18023074 -0.23568159  0.2599411  -0.22593332]
 [ 1.77014724 -0.14540706 -1.30521315  1.71907759 -0.92735695  0.0886334
  -0.33497467  1.21508911 -0.03804798 -1.38551658]
 [ 0.87574121  0.1908926   0.75437957 -0.38837631 -0.21076524  0.83581245
  -1.10747543 -1.30205243 -0.56258794  0.26701241]]

生成的标签y:
[0 1 1 0 0]

另一个函数make_regression可以用于生成回归数据集。以下是使用该函数生成回归数据集的示例代码:

from sklearn.datasets.samples_generator import make_regression

X, y = make_regression(n_samples=1000, n_features=5)

print("生成的数据集X:")
print(X[:5])  # 打印前5个样本

print("
生成的目标变量y:")
print(y[:5])  # 打印前5个目标变量

运行上述代码,将生成包含1000个样本、5个特征以及连续的目标变量的回归数据集。输出结果如下:

生成的数据集X:
[[ 1.36166904 -0.7630121   1.2191815  -1.07854125 -0.76651899]
 [ 1.11311454  0.62397241 -0.87964111 -0.38200237  0.6911714 ]
 [-0.1373364   0.25327174 -0.30305016 -0.42224137  1.27269981]
 [-0.8240493   1.9325128   1.3381742   0.20012363 -0.94927218]
 [ 0.28538711 -1.11350144  0.75811695 -0.31077917 -0.2877096 ]]

生成的目标变量y:
[-70.13579126  35.68404035 -14.03977929 180.00693034 -12.03627581]

除了以上两个示例,sklearn.datasets.samples_generator模块还提供了其他函数,如make_blobs用于生成聚类数据集,make_gaussian_quantiles用于生成分位数高斯数据集等。根据需要选择适合的函数即可生成所需的样本数据集。