问题标签 [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 回答
596 浏览

r - 调整多项式 SVM 时出错

我正在尝试使用以下命令在 R 中调整多项式 SVM

但我发现了错误

数据集结构为

如果需要,我可以将 Dropbox 链接发布到数据

提前感谢您的帮助

0 投票
1 回答
2855 浏览

r - 具有替代性能指标的 R 插入符号模型评估

我正在使用 R 的 caret 包进行一些网格搜索和模型评估。我有一个自定义评估指标,它是绝对误差的加权平均值。在观察级别分配权重。

这里给出了一个示例,说明如何使用 summaryFunction 为插入符号的 train() 定义自定义评估指标。去引用:

trainControl 函数有一个名为 summaryFunction 的参数,它指定了一个计算性能的函数。该函数应具有以下参数:

data 是数据框或矩阵的参考,其列称为 obs 和 pred 用于观察和预测的结果值(用于回归的数字数据或用于分类的字符值)。目前,类概率没有传递给函数。数据中的值是单个调整参数组合的保留预测(及其相关参考值)。如果 trainControl 对象的 classProbs 参数设置为 TRUE,则数据中将出现包含类概率的其他列。这些列的名称与类级别相同。lev 是一个字符串,它具有从训练数据中获取的结果因子级别。对于回归,NULL 值被传递到函数中。model 是正在使用的模型的字符串(即

我不太清楚如何将观察权重传递给 summaryFunction。

0 投票
1 回答
1362 浏览

r - 使用插入符号优化二元分类的偏差

(示例从Windows 7、R 3.0.2、插入符号 6.0-21 上插入符号中的 train() 的致命错误中借用)

我有这个例子:

但是假设我想优化偏差(这是我认为 gbm 默认返回的)而不是准确性。我知道 trainControl 提供了一个 summaryFunction 参数。如何编写一个针对偏差进行优化的 summaryFunction?

0 投票
2 回答
2113 浏览

r - 使用 train 命令通过 CrossValidation 构建 CART 模型时出现预测功能问题

我正在尝试使用“caret”包的 train 功能通过交叉验证来构建 CART 模型。

我的数据是 4500 x 110 数据框,其中所有预测变量(除了我不用于模型构建的前两个,UserId 和 YOB(出生年份))都是具有 2 个级别的因子,但因变量是类型整数(虽然只有两个值 1 和 0)。性别是自变量之一。

当我运行 rpart 命令来获取 CART 模型(使用包“rpart”)时,我对 predict 函数没有任何问题。但是,我想通过交叉验证来改进模型,因此使用包“caret”中的 train 函数和以下命令:

这将使用以下警告构建模型

但它确实给了我一个最终模型(best.tree)。但是,当我尝试使用以下命令运行预测函数时:

在测试数据上,它给了我以下错误:

性别变量有两个值:女性、男性

谁能帮我理解错误

0 投票
1 回答
116 浏览

r - 尝试使用 setClass 从“train”类型的插入符号传递一个 train 函数

我正在尝试使用自定义类构建器 setClass() 从训练函数(插入符号包)返回结果。

这就是我在函数中创建 TrainResults 的方式:

"successrate" 工作正常,因为它是数字类型,但 plsFit(类型为 train {caret})抱怨:

知道如何让它正确传递类型 train 的对象吗?谢谢!

0 投票
1 回答
5109 浏览

r - Predict function from Caret package give an Error

I am doing just a regular logistic regression using the caret package in R. I have a binomial response variable coded 1 or 0 that is called a SALES_FLAG and 140 numeric response variables that I used dummyVars function in R to transform to dummy variables.

This gives me a data frame to work with. All of the variables are numeric. Next I split into training and testing:

Time to train my model using the train function:

Everything runs nice and I get a model. But when I run the predict function it does not give me what I need:

and I get an ERROR:

On the other hand when I replace "prob" with "raw" for type inside of the predict function I get prediction but I need probabilities so I can code them into binary variable given my threshold.

Not sure why this happens. I did the same thing without using the caret package and it worked how it should:

I spend some time looking at this but not sure what is going on and it seems very weird to me. I have tried many variations of the train function meaning I didn't use the formula and used X and Y. I used method = 'bayesglm' as well to check and id gave me the same error. I hope someone can help me out. I don't need to use it since the train function to get what I need but caret package is a good package with lots of tools and I would like to be able to figure this out.

0 投票
2 回答
1177 浏览

r - R 插入符号在训练后重命名 data.table 中的列

由于某种原因,包中的train函数caret更改了响应变量的名称。这是一个玩具示例:

我知道我可以在训练后重命名它,但如果我有很多模型要训练,它会变得重复。这是正确的行为吗?

编辑:添加会话信息

0 投票
4 回答
3817 浏览

r - R:帮助使用 dummyVars 并添加回 data.frame

我有一个 373127 obs 的 data.frame。193 个变量。一些变量是我想使用 dummyVars() 将每个因素分成自己的列的因素。然后我想将单独的虚拟变量列合并回我的原始data.frame,所以我想我可以用apply完成整个事情,但是有些东西不起作用,我不知道它是什么。样本:

谢谢!

0 投票
1 回答
2358 浏览

r - R,插入符号:我如何指定训练和坚持(验证)集?

我有一个数据集,并且希望插入符号仅在我的数据集的特定部分上进行训练和验证。我有两个清单

对应于我的数据集中的行索引。train.ids$T1应该用于训练,而test.ids$T1应该用于测试。T2 和 T3 也是如此。

我尝试使用

但这似乎不是使用 trainControl 的正确方法。

非常感谢任何帮助

0 投票
1 回答
2668 浏览

r - caret::train:为 mlpWeightDecay(RSNNS 包)指定进一步的非调整参数

我在使用 caret 包和 RSNNS 包中的“mlpWeightDecay”方法指定学习率时遇到问题。“mlpWeightDecay”的调整参数是大小和衰减。

将大小保持为 4 并在 c(0,0.0001, 0.001, 0.002) 上调整衰减的示例:

但我也想操纵模型的学习率,而不仅仅是采用默认的 0.2 学习率。

我知道我可以通过“...”参数使用来自 RSNNS 的 mlpWeightDecay 方法的更多参数。“learnFuncParams”将是我需要插入的 RSNNS 参数。它需要 4 个参数(学习率、权重衰减、dmin、dmax)。

继续这个例子,它看起来像这样:

但是插入符号训练函数的文档告诉我“...”参数:
传递给分类或回归例程(例如randomForest)的参数。如果在此处传递调整参数的值,则会发生错误。

问题是 4 个“learningFuncParams”参数之一(权重衰减)是一个调整参数。

因此,我收到错误和警告:

train.default(TrainData, TrainClasses, method = "mlpWeightDecay", : 无法确定最终调优参数另外:有50个或更多警告(使用warnings()查看前50个)

警告信息:

1:在 method$fit(x = if (!is.data.frame(x)) as.data.frame(x) else x, ... :在您传递的“learnFuncParams”参数中覆盖权重衰减值in. 保留其他值

2:在 eval(expr,envir,enclos)中:Fold01 的模型拟合失败:size=4,decay=0e+00 mlp.default 中的错误(x = structure(list(Sepal.Length = c(-0.891390168709482,:正式由多个实际参数匹配的参数“learnFuncParams”

如果两者都设置在相同的参数“learningFuncParams”中,如何设置学习率而不与调整参数“decay”发生冲突?

谢谢!