问题标签 [r-caret]

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 回答
2150 浏览

r - 如何使用插入符号在 R 中构建神经网络

所以我一直在使用 caret 包通过使用 train 函数来执行诸如 MLR、逐步回归和随机森林之类的东西。我这样做是为了让我也可以进行 10 次 10 折交叉验证,并且我通过执行以下操作来做到这一点:-

然后我可以从中查看预测值和观察值并将它们相互绘制等,以查看模型的准确度。RT..seconds 是我想针对 180 个不同实例(即 180 x 160 数据集)的 160 个其他变量建模的变量。

我想做同样的事情,但通过使用神经网络模型。我希望学习量为 0.25,动量为 50。我遇到了“AMORE”并尝试做同样的事情,但使用它来代替:-

但我不断收到以下消息:-

我究竟做错了什么?当我通过插入符号调用 Amore 时,如何调整参数?

谢谢!

0 投票
1 回答
11319 浏览

r - 如何通过使用插入符号 R 对神经网络进行建模

所以我有一个数据集,我一直在上面执行机器学习算法。我在一个 180 x 160 的数据集上执行了 MLR、逐步回归、SVM 和随机森林。我正在针对 179 个案例中的 159 个其他变量对一个变量进行建模。这都是回归建模。我一直在使用 caret 包,其中我使用 train 函数使用不同的机器学习算法进行 10 次交叉验证 10 次。我被告知要阅读一篇使用神经网络模型并获得更好结果的论文,所以我一直在尝试找到一种方法来做同样的事情,但使用神经网络模型。

我已经看过以下内容:-

但它不起作用。有人告诉我它不起作用,因为火车功能还没有包装 AMORE 包装。所以我想用 nnet 代替:-

这有效。然而,我得到的 RMSE 值是 171,当我查看我的预测值和观察值时,预测值都只有 1s 和 0.9999s。有谁知道我做错了什么?

谢谢!

0 投票
1 回答
1814 浏览

r - R 的插入符号包中的 rfe() 中的 ROC

我正在使用 R 中的 caret 包来训练径向基 SVM 进行分类;此外,线性支持向量机用于变量选择。使用 metric="Accuracy",这可以正常工作,但最终我对优化 metric="ROC" 更感兴趣。虽然 ROC 是针对所有适合的模型计算的,但聚合 ROC 值似乎存在一些问题。

以下是一些示例代码:

最终输出如下:

ROC 是 NaN。检查输出(因为 verbose=T 并且汇总函数被修补以显示其输出和部分输入)显示,在调整内部循环中的 SVM 时,ROC 似乎计算正确:

外部迭代似乎有问题。“在”两次折叠之间,我们得到以下信息:

所以这里似乎汇总函数的输入是一个不包含类概率而是包含变量数量的矩阵,因此无法正确计算/聚合 ROC。有人知道如何防止这种情况吗?我是否忘记告诉插入符号在某个地方输出类概率?

非常感谢您的帮助,因为 caret 确实是一个很酷的软件包,如果我能让它正确运行,它将为我节省大量工作。

托拉尔夫

0 投票
2 回答
10808 浏览

r - 使用带有插入符号训练的神经网络并调整参数

因此,我阅读了一篇论文,该论文使用神经网络建模了一个类似于我目前使用的数据集的数据集。我有 160 个描述符变量,我想为 160 个案例建模(回归建模)。我阅读的论文使用以下参数:-

'对于每个拆分,为 10 个单独的训练测试折叠中的每一个都开发了一个模型。具有 33 个输入神经元和 16 个隐藏神经元的三层反向传播网络用于在线权重更新、0.25 学习率和 0.9 动量。对于每一折,从总共 50 个不同的随机初始权重起点进行学习,并允许网络迭代学习时期,直到验证集的平均绝对误差 (MAE) 达到最小值。'

现在他们使用了一个名为 Emergent 的专业软件来做到这一点,这是一个非常专业的神经网络模型软件。然而,正如我之前在 R 中做过的模型一样,我必须坚持下去。所以我使用插入符号训练函数来进行 10 次交叉折叠验证,使用神经网络包进行 10 次。我做了以下事情: -

我这样做是为了尝试将参数调整为接近论文中使用的参数,但是我收到以下错误消息:-

你知道我做错了什么吗?当我做 nnet 时它可以工作,但我无法调整参数以使其与我试图模仿的论文中使用的参数相似。

这是我在 warnings() 中得到的五十次:-

谢谢!

0 投票
1 回答
9066 浏览

r - R中的神经网络使用插入符号包

因此,我阅读了一篇论文,该论文使用神经网络建模了一个类似于我目前使用的数据集的数据集。我有 160 个描述符变量,我想为 160 个案例建模(回归建模)。我阅读的论文使用以下参数:-

'对于每个拆分,为 10 个单独的训练测试折叠中的每一个都开发了一个模型。具有 33 个输入神经元和 16 个隐藏神经元的三层反向传播网络用于在线权重更新、0.25 学习率和 0.9 动量。对于每一折,从总共 50 个不同的随机初始权重起点进行学习,并允许网络迭代学习时期,直到验证集的平均绝对误差 (MAE) 达到最小值。'

现在他们使用了一个名为 Emergent 的专业软件来做到这一点,这是一个非常专业的神经网络模型软件。然而,正如我之前在 R 中做过的模型一样,我必须坚持下去。所以我使用插入符号训练函数来进行 10 次交叉折叠验证,使用神经网络包进行 10 次。我做了以下事情: -

我这样做是为了尝试将参数调整为接近论文中使用的参数,但是我收到以下错误消息:-

你知道我做错了什么吗?当我做 nnet 时它可以工作,但我无法调整参数以使其与我试图模仿的论文中使用的参数相似。

这是我在 warnings() 中得到的五十次:-

谢谢!

0 投票
0 回答
1322 浏览

r - 插入符号:多类分类的重要性分数

我正在使用caretR 包的随机森林模型进行监督分类。重要性分数是:

但是在我手动按平均重要性分数对特征进行排序后,结果就不同了:

这是一个错误还是我错过了什么?

0 投票
1 回答
4552 浏览

r - 用地球(MARS)和R中的插入符号“响应”预测

我希望这不是一个太天真的问题。我正在使用 R 包中的不同模型执行一系列二项式回归caret。到目前为止,除了地球(MARS)之外,所有模型都在工作。通常,earthglm通过earth函数 as传递给函数glm=list(family=binomial)。这似乎工作正常(如下所示)。对于一般predict()功能,我会使用type="response'来正确缩放预测。fit1下面的示例显示了正确预测的非插入符号方法pred1pred1a是不正确缩放的预测type='response'fit2是方法,caretpred2预测;它与 中的非缩放预测相同pred1a。通过挖掘fit2对象,正确拟合的值存在于glm.list组件中。因此,该earth()函数的行为应如此。

问题是......因为caret prediction()函数只需要type='prob' or 'raw',我如何指示预测响应的规模?

非常感谢。

0 投票
1 回答
4053 浏览

r - R 插入符号包 rfe 永远不会完成错误任务 1 失败 - “替换长度为零”

我最近开始研究我正在开发的模型的插入符号包。我正在使用最新版本。作为第一步,我决定将其用于特征选择。我使用的数据有大约 760 个特征和 10k 个观察值。我根据网上的培训资料创建了一个简单的函数。不幸的是,我一直收到错误,因此该过程永远不会完成。这是产生错误的代码。在此示例中,我使用了一小部分功能。我从全套功能开始。我还更改了子集、折叠次数和重复次数,但无济于事。我知道如果没有数据就很难追查问题。我共享了一小部分数据(以 r 对象格式,如下所示)。如果您无法从那里获取文件,请尝试此链接

它总是产生这个错误:

{ 中的错误:任务 1 失败 - “替换长度为零”

0 投票
1 回答
4192 浏览

r - 插入符号训练的公式和非公式的不同结果

我注意到在训练时在插入符号中使用公式和非公式方法会产生不同的结果。此外,公式法所用时间几乎是非公式法所用时间的 10 倍。这是预期的吗?

0 投票
1 回答
165 浏览

r-caret - 将自定义方法与 caret 包一起使用的正确语法

使用第 46 页的包小插图 ( pdftrainControl() )中记录的自定义方法语法,我在插入符号中收到以下错误。有谁知道此文档是否已过期或不正确?似乎与未使用“自定义”参数的插入符号文档页面不一致。