我是靠谱客的博主 听话过客,最近开发中收集的这篇文章主要介绍java折叠质量_使用Caret选择交叉验证折叠内的特征,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在插入符号包中,有没有办法在trainControl的交叉验证方案的折叠中使用递归特征消除函数,该函数传递给使用调整网格的列车函数?

我喜欢递归特征消除功能,但它确实应该应用于交叉验证中的训练折叠,然后在保持折叠上进行测试 .

我已经玩了很多不同的方法来做到这一点,但没有一个是完美的 . 例如,我可以进行自己的交叉验证折叠并使用method ='none'运行trainControl,但不会在列车中使用训练网格(需要评估组) . 我也可以在trainControl中创建我自己的cv折叠,并且有method ='cv'(我可以在这里使用调整网格),但是最好的调整是在trainControl保持生成的保持样本上选择的,不是我的坚持

有没有办法告诉插入符号在预先指定的保持折叠(在消除特征之前采取的那个)上使用调整网格评估模型?

在我的工作流程中,我正在使用自己的调整网格测试几种不同的模型类型 . 我非常喜欢有部分插入符号,我花了很多时间在这上面,所以我想使用它,但如果我不能让它工作,这是一个交易破坏者 . 我愿意接受任何建议!

提前致谢-

解决方案:我的解决方案可能不是最有效的,但似乎有效 . 我使用以下信息进行了交叉验证折叠:https://stats.stackexchange.com/questions/61090/how-to-split-a-data-set-to-do-10-fold-cross-validation . 使用createFolds(插入符函数)不会创建相等的折叠,所以我选择了第二个解决方案 . 看起来你可能会用插入的方式来做这件事's stratified sampling, but I haven' t .

此代码在每个cv折叠中使用自举方法,并预测每次迭代的保持折叠中的所有观察 .

## Make the folds for the cross validation

folds %

sample(., length(.), replace= F)

for(f in 1:10) {

testIndexes

trainIndexes

trainIndexList

testIndexList

testData

trainData

## Make the train control object

train_control

numbe r= 1,

summaryFunction = modfun,

preProcOptions = c('center', 'scale', newdata= testData),

index = trainIndexList,

indexOut = testIndexList,

classProbs = T,

savePredictions = T)

## Feature Selection

## Make the control for the recursive feature elimination

rfe_control

## Generate the data frame based on feature selection

fs_results

trainData[,'target'],

sizes=c(2:ncol(trainData)),

rfeControl= rfe_control)

use_features

features % data.frame(features= .) %>% mutate(fold= f) %>%

rbind(features, .) ## Specify features as a data frame ahead of time

data_min % data.frame()

...(建模代码,包括列车功能和所需输出)......

}

我还没有试过做一个lapply而不是for循环 . 我很感激任何提高效率的建议 .

最后

以上就是听话过客为你收集整理的java折叠质量_使用Caret选择交叉验证折叠内的特征的全部内容,希望文章能够帮你解决java折叠质量_使用Caret选择交叉验证折叠内的特征所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部