问题标签 [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.
r - 调整多项式 SVM 时出错
我正在尝试使用以下命令在 R 中调整多项式 SVM
但我发现了错误
数据集结构为
如果需要,我可以将 Dropbox 链接发布到数据
提前感谢您的帮助
r - 具有替代性能指标的 R 插入符号模型评估
我正在使用 R 的 caret 包进行一些网格搜索和模型评估。我有一个自定义评估指标,它是绝对误差的加权平均值。在观察级别分配权重。
这里给出了一个示例,说明如何使用 summaryFunction 为插入符号的 train() 定义自定义评估指标。去引用:
trainControl 函数有一个名为 summaryFunction 的参数,它指定了一个计算性能的函数。该函数应具有以下参数:
data 是数据框或矩阵的参考,其列称为 obs 和 pred 用于观察和预测的结果值(用于回归的数字数据或用于分类的字符值)。目前,类概率没有传递给函数。数据中的值是单个调整参数组合的保留预测(及其相关参考值)。如果 trainControl 对象的 classProbs 参数设置为 TRUE,则数据中将出现包含类概率的其他列。这些列的名称与类级别相同。lev 是一个字符串,它具有从训练数据中获取的结果因子级别。对于回归,NULL 值被传递到函数中。model 是正在使用的模型的字符串(即
我不太清楚如何将观察权重传递给 summaryFunction。
r - 使用插入符号优化二元分类的偏差
(示例从Windows 7、R 3.0.2、插入符号 6.0-21 上插入符号中的 train() 的致命错误中借用)
我有这个例子:
但是假设我想优化偏差(这是我认为 gbm 默认返回的)而不是准确性。我知道 trainControl 提供了一个 summaryFunction 参数。如何编写一个针对偏差进行优化的 summaryFunction?
r - 使用 train 命令通过 CrossValidation 构建 CART 模型时出现预测功能问题
我正在尝试使用“caret”包的 train 功能通过交叉验证来构建 CART 模型。
我的数据是 4500 x 110 数据框,其中所有预测变量(除了我不用于模型构建的前两个,UserId 和 YOB(出生年份))都是具有 2 个级别的因子,但因变量是类型整数(虽然只有两个值 1 和 0)。性别是自变量之一。
当我运行 rpart 命令来获取 CART 模型(使用包“rpart”)时,我对 predict 函数没有任何问题。但是,我想通过交叉验证来改进模型,因此使用包“caret”中的 train 函数和以下命令:
这将使用以下警告构建模型
但它确实给了我一个最终模型(best.tree)。但是,当我尝试使用以下命令运行预测函数时:
在测试数据上,它给了我以下错误:
性别变量有两个值:女性、男性
谁能帮我理解错误
r - 尝试使用 setClass 从“train”类型的插入符号传递一个 train 函数
我正在尝试使用自定义类构建器 setClass() 从训练函数(插入符号包)返回结果。
这就是我在函数中创建 TrainResults 的方式:
"successrate" 工作正常,因为它是数字类型,但 plsFit(类型为 train {caret})抱怨:
知道如何让它正确传递类型 train 的对象吗?谢谢!
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.
r - R 插入符号在训练后重命名 data.table 中的列
由于某种原因,包中的train
函数caret
更改了响应变量的名称。这是一个玩具示例:
我知道我可以在训练后重命名它,但如果我有很多模型要训练,它会变得重复。这是正确的行为吗?
编辑:添加会话信息
r - R:帮助使用 dummyVars 并添加回 data.frame
我有一个 373127 obs 的 data.frame。193 个变量。一些变量是我想使用 dummyVars() 将每个因素分成自己的列的因素。然后我想将单独的虚拟变量列合并回我的原始data.frame,所以我想我可以用apply完成整个事情,但是有些东西不起作用,我不知道它是什么。样本:
谢谢!
r - R,插入符号:我如何指定训练和坚持(验证)集?
我有一个数据集,并且希望插入符号仅在我的数据集的特定部分上进行训练和验证。我有两个清单
和
对应于我的数据集中的行索引。train.ids$T1
应该用于训练,而test.ids$T1
应该用于测试。T2 和 T3 也是如此。
我尝试使用
但这似乎不是使用 trainControl 的正确方法。
非常感谢任何帮助
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”发生冲突?
谢谢!