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

在Python中使用sklearn.datasets.samples_generator生成均匀分布数据集

发布时间:2023-12-15 03:39:08

在Python中,可以使用sklearn.datasets.samples_generator模块中的make_classification函数来生成均匀分布的数据集。make_classification函数可以生成二分类问题的数据集,其参数包括样本数量,特征数量,类别数量以及其他可选的参数。

下面是一个使用make_classification函数生成均匀分布数据集的示例代码:

from sklearn.datasets.samples_generator import make_classification
import matplotlib.pyplot as plt

# 生成均匀分布数据集
X, y = make_classification(n_samples=1000, n_features=2, n_informative=2, 
                           n_redundant=0, n_clusters_per_class=1,
                           random_state=42)

# 绘制数据集散点图
plt.scatter(X[:, 0], X[:, 1], marker='o', c=y, s=25, edgecolor='k')
plt.xlabel("Feature 1")
plt.ylabel("Feature 2")
plt.title("Uniform distribution dataset")
plt.show()

在上述代码中,make_classification函数被调用来生成1000个样本,每个样本具有2个特征。其中,n_informative参数指定了有信息的特征数量,n_redundant参数指定了冗余特征数量,n_clusters_per_class参数指定了每个类别中的簇数。random_state参数用于保持每次运行代码时生成的数据集的一致性。

生成的数据集被存储在变量X中,标签存储在y中。可以使用matplotlib库将数据集绘制成散点图。其中,X[:, 0]表示特征1的值,X[:, 1]表示特征2的值,y表示类别标签。散点图中,每个点的颜色表示其类别标签。

通过运行上述代码,将生成一个二维的均匀分布数据集的散点图,如下图所示:

![Uniform distribution dataset](https://i.imgur.com/W0ZtWAt.png)

在生成均匀分布数据集后,可以将其用于机器学习算法的训练和测试,如分类算法、回归算法等。