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


Python cuml.random_projection.GaussianRandomProjection用法及代码示例


用法:

class cuml.random_projection.GaussianRandomProjection(*, handle=None, n_components='auto', eps=0.1, random_state=None, verbose=False, output_type=None)

源自BaseRandomProjection 类的高斯随机投影方法。

随机投影是一种降维技术。随机投影方法是强大的方法,以其简单性、计算效率和有限的模型大小而闻名。该算法还具有很好地保持任意两个样本之间的距离的优点,因此适用于具有这种要求的方法。

随机矩阵的分量取自 N(0, 1 /n_components)。

参数

handlecuml.Handle

指定 cuml.handle 保存用于此模型中计算的内部 CUDA 状态。最重要的是,这指定了将用于模型计算的 CUDA 流,因此用户可以通过在多个流中创建句柄在不同的流中同时运行不同的模型。如果为 None,则创建一个新的。

n_componentsint(默认 = ‘auto’)

目标投影空间的维度。如果设置为‘auto’,由于Johnson-Lindenstrauss 引理,参数会被扣除。自动推导利用样本数和 eps 参数。

Johnson-Lindenstrauss 引理可以产生非常保守的 n_components 参数,因为它不对数据集结构做出任何假设。

eps浮点数(默认 = 0.1)

投影期间的误差容限。当 n_components 设置为 ‘auto’ 时,由 Johnson-Lindenstrauss 自动扣除使用。

random_stateint(默认 = 无)

用于初始化随机发生器的种子

verboseint 或布尔值,默认=False

设置日志记录级别。它必须是 cuml.common.logger.level_* 之一。有关详细信息,请参阅详细级别。

output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默认=无

用于控制估计器的结果和属性的输出类型的变量。如果为 None,它将继承在模块级别设置的输出类型 cuml.global_settings.output_type 。有关详细信息,请参阅输出数据类型配置。

注意

此类无法与sklearn.base.clone() 一起使用,并且在调用时会引发异常。

灵感来自 Scikit-learn 的实现:https://scikit-learn.org/stable/modules/random_projection.html

例子

from cuml.random_projection import GaussianRandomProjection
from sklearn.datasets import make_blobs
from sklearn.svm import SVC

# dataset generation
data, target = make_blobs(n_samples=800, centers=400, n_features=3000,
                          random_state=42)

# model fitting
model = GaussianRandomProjection(n_components=5,
                                 random_state=42).fit(data)

# dataset transformation
transformed_data = model.transform(data)

# classifier training
classifier = SVC(gamma=0.001).fit(transformed_data, target)

# classifier scoring
score = classifier.score(transformed_data, target)

# measure information preservation
print("Score: {}".format(score))

输出:

Score: 1.0

属性

gaussian_method布尔值

传递给基类以确定随机矩阵生成方法

相关用法


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