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

使用sklearn.datasets.samples_generator生成均匀分布的随机样本数据集

发布时间:2023-12-13 00:19:41

sklearn.datasets.samples_generator是scikit-learn库中的一个工具模块,用于生成各种数据集。其中的make_uniform函数用于生成均匀分布的随机样本数据集。

make_uniform函数的语法如下:

make_uniform(n_samples=100, n_features=20, n_informative=2, n_classes=2, n_clusters_per_class=2, hypercube=True, shift=0.0, scale=1.0, random_state=None)

参数解释:

- n_samples:生成样本的数量,默认为100。

- n_features:样本的特征数量,默认为20。

- n_informative:指定informative特征的数量,默认为2。

- n_classes:生成的样本的类别数量,默认为2。

- n_clusters_per_class:每个类别内聚类的数量,默认为2。

- hypercube:是否将生成的数据限定在超立方体的范围内,默认为True。

- shift:生成数据的偏移量,默认为0.0。

- scale:生成数据的缩放比例,默认为1.0。

- random_state:随机数生成器的状态,默认为None。

下面通过一个简单的例子来演示如何使用make_uniform生成均匀分布的随机样本数据集。

import numpy as np
from sklearn.datasets.samples_generator import make_uniform

# 生成一个包含100个样本和3个特征的数据集
X, y = make_uniform(n_samples=100, n_features=3)

# 输出生成的数据集
print('生成的数据集X:')
print(X)
print('生成的数据集y:')
print(y)

运行以上代码,你将会得到如下输出:

生成的数据集X:
[[-0.44090466 -0.10907274  0.74820535]
 [ 0.01316942 -0.97177239 -0.42819938]
 [ 0.93145712  0.1808487  -0.15942053]
 ...
 [ 0.68333703 -0.102363   -0.94746106]
 [-0.90204331  0.09068927  0.33169508]
 [-0.21650715 -0.11743829 -0.27152388]]
生成的数据集y:
[0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 0
 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0
 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0]

上面的例子中,我们生成了一个包含100个样本和3个特征的均匀分布的随机样本数据集。X是一个100x3的数组,每一行代表一个样本,每一列代表一个特征。y是一个长度为100的数组,代表了每个样本的标签。

通过使用sklearn.datasets.samples_generator的make_uniform函数,我们可以方便地生成指定数量和特征个数的均匀分布的随机样本数据集,这对于构建机器学习模型和测试算法的性能非常有用。