问题标签 [kernlab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
519 浏览

r - R包kernlab中的gausspr函数挂在线性内核上

我正在试验高斯过程模型,特别是在 kernlab R 包中的实现。我发现模型拟合在用线性内核切除时会挂起。分析显示它正忙于通过运算符“%*%”进行矩阵乘法。下面给出了一个可重现的示例:

知道这里发生了什么吗?非常感谢!

0 投票
0 回答
257 浏览

r - 使用 kernlab 绘制字符串内核 svm/决策边界

我正在使用 kernlab 来学习内核 SVM 的基础知识,并且在绘制应用于 reuters 数据集的模型的结果时遇到了一些困难。

Jean-Philippe Vert 写了一个我正在关注的优秀教程(http://members.cbio.mines-paristech.fr/~jvert/svn/tutorials/practical/stringkernels/stringkernels.R),但我想修改它包括实际决策边界的图,而不仅仅是错误。我的代码如下所示:

他们的关键线是plot(svp, data = x, main = k)- 我想绘制这样的东西:https://github.com/topepo/caret/issues/337但我收到以下错误:

Error in sub[, 2] : subscript out of bounds

我确定这对我来说很愚蠢,但我找不到解决方案。任何提示将不胜感激。谢谢!

0 投票
0 回答
1693 浏览

r - 带有径向内核的支持向量机,用于插入符号包中的数值响应

我使用以下软件包将带有径向内核的 SVM 算法应用于回归问题:caret(使用 SVMRadial 方法的训练函数)、e1071(svm 函数)和 kernlab(ksvm 函数)。对于 caret 和 kernlab 上的函数,我修复了由 e1071 中的 svm 函数估计的超参数值。

我从 e1071 的 svm 模型和来自 kernlab 的 ksvm 模型获得了相同的结果,但是对于插入符号上的 train 函数的实现,结果完全不同。

这是一个可重现的示例:

我怀疑在 train 函数的实现中,问题被认为是分类而不是回归。有没有办法验证这是否真的发生了?也许这是与我的 R 版本(R 版本 3.3.2(2016-10-31)有关的问题?

任何帮助都感激不尽。

最好的问候, 海伦

0 投票
1 回答
415 浏览

r - 使用 kernlab 的异常支持向量

以下代码应使用包中的ksvm函数创建支持向量分类器(具有线性内核的 SVM) kernlab

结果图:

支持向量机图

如果我的理解是正确的,黑色的形状是支持向量,它们是位于边距内部或边界上的数据点。

那么最上面的黑点是怎么回事?有三个更接近决策边界的空心点(因此不是支持向量)。(两个在附近,很容易看到。除非放大图片,否则很难看到第三个,但它是最右边的那个。)

要么这里的实现中有一个错误,要么我错过了一些关于它应该如何工作的概念。有什么见解吗?

0 投票
1 回答
772 浏览

r - 一次比较所有 ksvm 内核的性能

我是 R 新手,所以也许这是一个愚蠢的问题,但我正在寻找一种方法来迭代 kernlab 中 ksvm 函数中所有可能的内核选项并吐出结果表。

现在我有一个基本的设置:

它吐出所有的预测和准确度指标

理想情况下,我想要一张看起来像这样的桌子

是否有一种快速简便的方法来做到这一点,或者是手动创建带有模型名称和准确度指标的表然后打印或绘制它的唯一方法?

0 投票
1 回答
1736 浏览

r - 遍历 R 的 ksvm 中的多个 C 值

有没有一种简单的方法可以遍历多个 C 值并显示前 5 个结果?

我有这样的ksvm设置:

并想知道是否有一种简单的方法可以遍历 C 参数范围内的所有值(例如 0.00001 - 10000000)并仅打印前 5 个?

我是 R 新手,但我想我想做这样的事情:

0 投票
1 回答
151 浏览

r - 没有找到 ksvm 的预测功能?

我正在尝试使用Rpredict.ksvm中库kernlab中的函数。我一直在阅读以下链接中的文档: https ://www.rdocumentation.org/packages/kernlab/versions/0.9-27/topics/predict.ksvm

函数 ksvm 正在工作,所以它只是当前不工作的 predict 函数。

编码:

错误:

0 投票
1 回答
272 浏览

r - stepAIC 接受哪些参数?

我正在使用库(MASS)中的 stepAIC() 函数。

根据文档,它说我可以传递一个“对象”:

适当类别的模型。这被用作逐步搜索中的初始模型。

什么是合适的班级?

我使用 ksvm() 创建了一个模型,但是 stepAIC 似乎不接受它。

我正在使用代码:

我得到了错误

我传递的对象svmFit属于:

0 投票
1 回答
943 浏览

r - 如何通过 caret kernlab 包提取高斯过程回归的预测区间?

我正在尝试使用高斯过程回归 (GPR) 模型来预测河流中每小时​​的流量。应用 caret::kernlab train () 函数我得到了很好的结果(感谢库恩!)。

由于不确定性的想法是 GPR 的主要固有优势之一,我想知道是否有人可以帮助我访问与测试数据集的预测间隔相关的结果。

我将摘录我一直在工作的代码。由于我的真实数据非常庞大(老实说,我不知道如何将其放在这里),我将以数据(空气质量)为例。这个特定示例的主要目标是预测 airquality$Ozone,使用 airquality$Temperature 的滞后变量作为预测值。

最后几行生成以下图: 测试数据集中观测和预测的臭氧

下一步也是最后一步是提取基于每个预测点周围的高斯分布的预测区间,并将其与最后一个图一起绘制。

caret::kernlab train() 工具返回的预测比仅 kernlab::gaussprRadial() 甚至 tgp::bgp() 包更好。对于他们两个,我都可以找到预测区间。

例如,要通过 tgp::bgp() 获取预测区间,可以键入:

因此,通过 caret::kernlab train(),我希望可以找到所需的标准偏差,键入如下内容

或者也许,与

Ozone_Pred$...

此外,在链接:https : //stats.stackexchange.com/questions/414079/can-mad-median-absolute-deviation-or-mae-mean-absolute-error-be-used-to-calc,Stephan Kolassa 作者解释说我们可以通过 MAE 甚至 RMSE 来估计预测区间。但我不明白这是否是我的观点,因为在这个例子中,我得到的 MAE 只是 Obs x Predicted Ozone 数据之间的比较。

拜托,这个解决方案对我来说非常重要!我想我接近获得我的主要结果,但我不知道如何尝试。非常感谢,朋友们!

0 投票
1 回答
134 浏览

r - For Loop for Function 不附加列表/数据框

我正在尝试完成 Analytics 课程的家庭作业。我们使用 kknn(K 最近邻)函数进行分类。无论如何,for循环似乎并没有像我想要的那样遍历 i 值:

我首先尝试初始化一个列表并尝试使用双括号表示法附加它,但我注意到,在我的全局环境中,该列表只有一个项目。我尝试使用 $ 表示法来附加列表,结果相同。然后,我尝试启动一个数据框并使用 rbind 在 for 循环的每次迭代中扩展该框架,希望它能起到作用。它仍然只给我数据框中的一项。

我试过了klist[[fittedValues]] <- i

这是我用于数据框的代码:

关于如何将 for 循环添加到我的列表中的任何建议?如您所见,我的范围是 i 在 1:654,所以我期待 654 行数据帧/列表。