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


Python cuml.svm.SVR用法及代码示例


用法:

class cuml.svm.SVR(Epsilon Support Vector Regression)

构建用于训练和预测的 SVC 分类器。

参数

handlecuml.Handle

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

C浮点数(默认 = 1.0)

惩罚参数 C

kernel字符串(默认='rbf')

指定核函数。可能的选项:‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’。目前不支持预先计算的内核。

degreeint(默认值=3)

多项式核函数的度数。

gamma浮点数或字符串(默认 = ‘scale’)

rbf、poly 和 sigmoid 内核的系数。您可以指定数值,或使用以下选项之一:

  • ‘auto’:伽玛将设置为1 / n_features
  • ‘scale’:伽玛将设置为 1 / (n_features * X.var())
coef0浮点数(默认 = 0.0)

核函数中的独立项,仅对 poly 和 sigmoid 有意义

tol浮点数(默认 = 1e-3)

停止标准的容差。

epsilon: float (default = 0.1)

epsiron-SVR 模型的 epsilon 参数。没有与目标值周围epsilon-tube 内预测的点相关联的惩罚。

cache_size浮点数(默认 = 1024.0)

MiB 中训练期间内核缓存的大小增加它以缩短训练时间,但代价是内存占用更高。训练后内核缓存被释放。在预测期间,我们还需要一个临时空间来存储核矩阵元素(如果 n_support 很大,这可能很重要)。 cache_size 变量也设置了预测缓冲区的上限。

max_iterint(默认 = 100*n_samples)

限制求解器中的外部迭代次数

nochange_stepsint(默认值 = 1000)

我们监控在外部迭代期间我们的停止标准有多少变化。如果 nochange_steps 连续步骤没有变化(变化小于 1e-3*tol),那么我们停止训练。

verboseint 或布尔值,默认=False

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

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

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

注意

有关其他文档,请参阅 Scikit-learn’s SVR

求解器使用 SMO 方法拟合回归器。我们使用 SMO 算法的优化层次分解[1] 变体,类似于[2]

参考

1

J. Vanek et al. A GPU-Architecture Optimized Hierarchical Decomposition Algorithm for Support VectorMachine Training, IEEE Transactions on Parallel and Distributed Systems, vol 28, no 12, 3330, (2017)

2

Z. Wen et al. ThunderSVM: A Fast SVM Library on GPUs and CPUs, Journal of Machine Learning Research, 19, 1-5 (2018)

例子

import numpy as np
from cuml.svm import SVR
X = np.array([[1], [2], [3], [4], [5]], dtype=np.float32)
y = np.array([1.1, 4, 5, 3.9, 1.], dtype = np.float32)
reg = SVR(kernel='rbf', gamma='scale', C=10, epsilon=0.1)
reg.fit(X, y)
print("Predicted values:", reg.predict(X))

输出:

Predicted values: [1.200474 3.8999617 5.100488 3.7995374 1.0995375]

属性

n_support_int

支持向量的总数。注意:这将在未来改变以表示每个类的数字支持向量(如在 Sklearn 中,请参阅问题 #956)

support_int 形状 = [n_support]

支持向量索引的设备数组

support_vectors_浮点数,形状 [n_support, n_cols]

支持向量的设备数组

dual_coef_浮点数,形状 = [1,n_support]

支持向量的设备系数数组

intercept_int

SVMBase.intercept_(self)

fit_status_int

0 如果 SVM 正确拟合

coef_浮点数,形状 [1,n_cols]

SVMBase.coef_(self)

相关用法


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