当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cuml.dask.datasets.classification.make_classification用法及代码示例


用法:

cuml.dask.datasets.classification.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', n_parts=None, client=None)

生成一个随机的n-class 分类问题。

这最初会创建正态分布 (std=1) 的点簇,该点簇围绕边长为 2 * class_sepn_informative 维超立方体的顶点,并为每个类分配相等数量的簇。它引入了这些特征之间的相互依赖关系,并为数据添加了各种类型的进一步噪声。

不打乱,X 按以下顺序水平堆叠特征:主要的n_informative 特征,然后是信息特征的n_redundant 线性组合,然后是n_repeated 重复,随机抽取信息和冗余特征的替换.其余特征充满随机噪声。因此,无需改组,所有有用的函数都包含在 X[:, :n_informative + n_redundant + n_repeated] 列中。

参数

n_samplesint 可选(默认=100)

样本数。

n_featuresint 可选(默认=20)

特征总数。这些包括n_informative信息特征、n_redundant冗余特征、n_repeated重复特征和随机抽取的n_features-n_informative-n_redundant-n_repeated无用特征。

n_informativeint 可选(默认=2)

信息特征的数量。每个类由多个高斯簇组成,每个高斯簇位于维度为 n_informative 的子空间中超立方体的顶点周围。对于每个集群,信息特征是独立于 N(0, 1) 绘制的,然后在每个集群内随机线性组合以增加协方差。然后将簇放置在超立方体的顶点上。

n_redundantint 可选(默认=2)

冗余特征的数量。这些特征是作为信息特征的随机线性组合生成的。

n_repeatedint 可选(默认=0)

从信息和冗余特征中随机抽取的重复特征的数量。

n_classesint 可选(默认=2)

分类问题的类(或标签)数。

n_clusters_per_classint 可选(默认=2)

每个类的簇数。

weightsarray-like 形状 (n_classes,)(n_classes - 1,) ,(默认=无)

分配给每个类别的样本比例。如果没有,那么类是平衡的。请注意,如果 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_stateint RandomState 实例或无(默认)

确定数据集创建的随机数生成。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。

order: str, optional (default=’F’)

生成样本的顺序

dtypestr,可选(默认='float32')

生成样本的 Dtype

n_partsint(默认 = 无)

要生成的分区数(这可以大于工作人员的数量)

返回

Xdask.array 支持 CuPy 形状数组 [n_samples, n_features]

生成的样本。

ydask.array 支持 CuPy 形状数组 [n_samples]

每个样本的类别成员的整数标签。

注意

我们如何从单 GPU 版本扩展 dask MNMG 版本:

  1. 我们生成形状为 (n_centroids, n_informative) 的质心

  2. 我们生成形状 (n_centroids, n_informative, n_informative) 的信息协方差

  3. 我们生成形状(n_informative, n_redundant)的冗余协方差

  4. 我们为重复特征生成索引我们将上述数组的期货的引用传递给单个 GPU cuml.datasets.classification.make_classification,以便每个部分(和工作人员)都可以访问正确的值以从相同的生成数据协方差

例子

from dask.distributed import Client
from dask_cuda import LocalCUDACluster
from cuml.dask.datasets.classification import make_classification
cluster = LocalCUDACluster()
client = Client(cluster)
X, y = make_classification(n_samples=10, n_features=4,
                           n_informative=2, n_classes=2)

print("X:")
print(X.compute())

print("y:")
print(y.compute())

输出:

X:
[[-1.6990056  -0.8241044  -0.06997631  0.45107925]
[-1.8105277   1.7829906   0.492909    0.05390119]
[-0.18290454 -0.6155432   0.6667889  -1.0053712 ]
[-2.7530136  -0.888528   -0.5023055   1.3983376 ]
[-0.9788184  -0.89851004  0.10802134 -0.10021686]
[-0.76883423 -1.0689086   0.01249526 -0.1404741 ]
[-1.5676656  -0.83082974 -0.03072987  0.34499463]
[-0.9381793  -1.0971068  -0.07465998  0.02618019]
[-1.3021476  -0.87076336  0.02249984  0.15187258]
[ 1.1820307   1.7524253   1.5087451  -2.4626074 ]]

y:
[0 1 0 0 0 0 0 0 0 1]

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuml.dask.datasets.classification.make_classification。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。