分享

ThetrainControlFunction

 脑系科数据科学 2021-04-13

trainControl函数产生参数是要控制用可能的值去创建模型:

  • method:重抽样方法:"boot","cv","LOOCV","LGOCV","repeatedcv","timeslice","none""oob"。最后一个出代估计(oob)只能应用于随机森林,袋装树,bagged earth,bagged flexible discriminant analysis或条件树森林模型。这并不包括GBM模型(gbm包作者指出,依照袋装树的OOB模型估计来选择调参并不是一个好主意)。对于留一法交叉验证,重抽样的性能度量并不能得到保证。

  • number和repeatsnumber控制K折交叉验证的数目或者自助法和留组交叉验证的抽样迭代次数。假设method = "repeatedcv",number = 10和repeates = 3,3个分开的10折交叉验证作为重抽样的方案。

  • verboseIter:输出训练日志的逻辑变量。

  • returnData:逻辑变量,把数据保存到称作trainingData的一个节点。

  • p:应用于LGOCV方法:训练比例。

  • 对于method = "timeslice",trainControl拥有参数initialWindow,horizon和fixedWindow来控制交叉验证是怎样应用于时间序列数据的。

  • classProbs:逻辑变量,决定是否计算类别概率。

  • index和indexOut:每一次从抽样元素列表。每一个列表元素是用于迭代训练的样本行。当这些值没有设定时,train函数会产生它们。

  • summaryFunction:用于计算备用性能的函数。

  • selectionFunction:选择最佳参数的函数。

  • PCAthreshICAcomp和k:这些选项传递到preProcss函数中去。

  • returnResamp:包含一下值的字符串:"all","final","none"。它们设定有多少抽样性能度量被保存。

  • allowParallel:逻辑变量,是否允许train函数使用并行处理(如果可能的话)。
    还有其它选项在这没有讨论。

5.5.5 Alternate Performance Metrics

用户可以改变决定最佳设置的度量。默认的,回归使用RMSE和R2,而分类使用准确率和Kappa统计量。回归和分类分别使用准确率和Kappa统计量选择参数值。train函数的metric参数允许用户选择哪种最优准则。例如,对于不平衡类的问题,用metric = "Kappa"来提高最中模型性能。
如果这些参数不理想,用户可以自定义性能度量。trainControl函数中有summaryFunction参数来设定计算性能的函数。这个函数应该有一下参数:
data:数据框或矩阵的参考表,列包含观测值obs和预测结果pred。现在,类概率没法传递到这个函数中去。数据中是调参组合的预测值。如果trainControl函数中的classProbs参数设定为TRUE,在data中就会加入一列包含类概率的值。这些列名与类水平一样。另外,如果train函数中设定了weights,那么在数据集中就会再加一列weights的值。
lev:是一个字符串,它有训练集中的输出因子水平。对于回归来说,NULL值会传递到这额函数。
model:应用模型的字符串,(例如传递到train函数的参数method中去的值)。

函数的输出应该是一个没有空名的数值度量向量。默认为,train函数从预测类的及角度评估分类模型。另外,类概率也能用于性能测量。为了获得重抽样中预测的类概率,trainControl函数中的参数classProbs必须设定为TRUE。这会将概率值加入到每次抽样产生的预测中去。
在最后一节展示出,自定义函数能用于计算性能的平均得分。另一个内置函数twoClassFunction将会计算敏感度,特异性和ROC曲线下的面积。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多