用法:
cuml.datasets.make_classification(n_samples=100, n_features=20, n_informative=2, n_redundant=2, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None, order='F', dtype='float32', _centroids=None, _informative_covariance=None, _redundant_covariance=None, _repeated_indices=None)
生成一个随机的n-class 分类问题。这最初会创建正态分布 (std=1) 的点簇,该点簇围绕边长为
2*class_sep
的n_informative
维超立方体的顶点,并为每个类分配相等数量的簇。它引入了这些特征之间的相互依赖关系,并为数据添加了各种类型的进一步噪声。不打乱,X
按以下顺序水平堆叠特征:主要的n_informative
特征,然后是信息特征的n_redundant
线性组合,然后是n_repeated
重复,随机抽取信息和冗余特征的替换.其余特征充满随机噪声。因此,无需改组,所有有用的函数都包含在X[:, :n_informative + n_redundant + n_repeated]
列中。- n_samples:int 可选(默认=100)
样本数。
- n_features:int 可选(默认=20)
特征总数。这些包括
n_informative
信息特征、n_redundant
冗余特征、n_repeated
重复特征和随机抽取的n_features-n_informative-n_redundant-n_repeated
无用特征。- n_informative:int 可选(默认=2)
信息特征的数量。每个类由多个高斯簇组成,每个高斯簇位于维度为
n_informative
的子空间中超立方体的顶点周围。对于每个集群,信息特征是独立于 N(0, 1) 绘制的,然后在每个集群内随机线性组合以增加协方差。然后将簇放置在超立方体的顶点上。- n_redundant:int 可选(默认=2)
冗余特征的数量。这些特征是作为信息特征的随机线性组合生成的。
- n_repeated:int 可选(默认=0)
从信息和冗余特征中随机抽取的重复特征的数量。
- n_classes:int 可选(默认=2)
分类问题的类(或标签)数。
- n_clusters_per_class:int 可选(默认=2)
每个类的簇数。
- weights:array-like of shape (n_classes,) or (n_classes - 1,), (default=None)
分配给每个类别的样本比例。如果没有,那么类是平衡的。请注意,如果
len(weights) == n_classes - 1
,则会自动推断最后一个类的权重。如果weights
的总和超过 1,则可能返回超过n_samples
的样本。- flip_y:浮点数,可选(默认=0.01)
随机分配类别的样本的比例。较大的值会在标签中引入噪声并使分类任务更加困难。
- class_sep:浮点数,可选(默认=1.0)
乘以超立方体大小的因子。较大的值会分散集群/类并使分类任务更容易。
- hypercube:布尔值,可选(默认 = True)
如果为 True,则将簇放在超立方体的顶点上。如果为 False,则将簇放在随机多面体的顶点上。
- shift:浮点数,形状数组 [n_features] 或无,可选(默认 = 0.0)
按指定值移动特征。如果没有,则特征将移动 [-class_sep, class_sep] 中绘制的随机值。
- scale:浮点数,形状数组 [n_features] 或无,可选(默认 = 1.0)
将特征乘以指定的值。如果为 None,则按 [1, 100] 中绘制的随机值对特征进行缩放。请注意,缩放发生在移位之后。
- shuffle:布尔值,可选(默认 = True)
Shuffle[洗牌]样本和特征。
- random_state:int RandomState 实例或无(默认)
确定数据集创建的随机数生成。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。
- order: str, optional (default=’F’):
生成样本的顺序
- dtype:str,可选(默认='float32')
生成样本的 Dtype
- _centroids: array of centroids of shape (n_clusters, n_informative):
- _informative_covariance: array for covariance between informative features:
形状(n_clusters,n_informative,n_informative)
- _redundant_covariance: array for covariance between redundant features:
形状(n_informative,n_redundant)
- _repeated_indices: array of indices for the repeated features:
形状 (n_repeated, )
- X:形状为 [n_samples, n_features] 的设备数组
生成的样本。
- y:形状为 [n_samples] 的设备数组
每个样本的类别成员的整数标签。
参数:
返回:
注意:
该算法改编自 Guyon [1],旨在生成 “Madelon” 数据集。我们如何针对 GPU 进行优化:
首先,我们从标准单变量而不是零生成 X。这节省了内存,因为我们不需要每次为每个要素类(信息性、重复性等)生成单变量,同时还提供了在 GPU 上生成大矩阵的额外加速
我们生成
order=F
构造。我们利用 X 是从单变量法线生成的事实,并且通过矩阵乘法引入协方差。这意味着,我们可以将 X 生成为一维数组,然后将其重塑为所需的顺序,这只会更新元数据并消除副本最后,我们还按构造进行洗牌。对每个样本的质心 index 进行置换,然后我们为每个质心构建数据。此 shuffle 适用于
order=C
和order=F
并且无需辅助副本
参考:
- 1
I. Guyon, “Design of experiments for the NIPS 2003 variable selection benchmark”, 2003.
例子:
from cuml.datasets.classification import make_classification X, y = make_classification(n_samples=10, n_features=4, n_informative=2, n_classes=2) print("X:") print(X) print("y:") print(y)
输出:
X: [[-2.3249989 -0.8679415 -1.1511791 1.3525577 ] [ 2.2933831 1.3743551 0.63128835 -0.84648645] [ 1.6361488 -1.3233329 0.807027 -0.894092 ] [-1.0093077 -0.9990691 -0.00808992 0.00950443] [ 0.99803793 2.068382 0.49570698 -0.8462848 ] [-1.2750955 -0.9725835 -0.2390058 0.28081596] [-1.3635055 -0.9637669 -0.31582272 0.37106958] [ 1.1893625 2.227583 0.48750278 -0.8737561 ] [-0.05753583 -1.0939395 0.8188342 -0.9620734 ] [ 0.47910076 0.7648213 -0.17165393 0.26144698]] y: [0 1 0 0 1 0 0 1 0 1]
相关用法
- Python cuml.datasets.make_blobs用法及代码示例
- Python cuml.datasets.make_arima用法及代码示例
- Python cuml.datasets.make_regression用法及代码示例
- Python cuml.dask.feature_extraction.text.TfidfTransformer用法及代码示例
- Python cuml.dask.manifold.UMAP用法及代码示例
- Python cuml.dask.datasets.classification.make_classification用法及代码示例
- Python cuml.dask.decomposition.PCA用法及代码示例
- Python cuml.dask.naive_bayes.MultinomialNB用法及代码示例
- Python cuml.dask.decomposition.TruncatedSVD用法及代码示例
- Python cuml.dask.preprocessing.LabelBinarizer用法及代码示例
- Python cuml.metrics.pairwise_distances.pairwise_distances用法及代码示例
- Python cuml.neighbors.KNeighborsClassifier用法及代码示例
- Python cuml.ensemble.RandomForestRegressor用法及代码示例
- Python cuml.svm.SVC用法及代码示例
- Python cuml.svm.SVR用法及代码示例
- Python cuml.Lasso用法及代码示例
- Python cuml.tsa.ARIMA.predict用法及代码示例
- Python cuml.multiclass.OneVsRestClassifier用法及代码示例
- Python cuml.preprocessing.LabelBinarizer用法及代码示例
- Python cuml.random_projection.GaussianRandomProjection用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuml.datasets.make_classification。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。