【问题标题】:Function/meaning of ~ . for train function in caret R package~ 的功能/含义。用于插入符号 R 包中的训练功能
【发布时间】:2019-06-28 00:09:56
【问题描述】:
train(Class ~ ., data = training, 
                 method = "gbm", 
                 trControl = fitControl,
                 ## This last option is actually one
                 ## for gbm() that passes through
                 verbose = FALSE)

我知道 Class 是预测器,但我不明白的是 ~ 的含义/需要。

任何帮助或指向帮助的指针都将受到高度赞赏。

PS。我是 R 新手

【问题讨论】:

  • 这是一个公式,表示Class是使用数据中的所有其他变量来预测的。
  • @r.user.05apr ,是否有关于如何使用/创建此公式/过滤器的文档?我的意思是如何自定义它。

标签: r r-caret


【解决方案1】:

这意味着除了medv(在此示例中)之外的任何其他内容,例如公式中的正常用法。基本上,您是在针对数据集中的所有预测变量进行预测。以这个为例:

library(caret)
library(mlbench)
data(BostonHousing)
lmFit <- train(medv ~ . + rm:lstat,
               data = BostonHousing,
               method = "lm")

要查看条款,请致电lmFit$terms。重要的是:

medv ~ crim + zn + indus + chas + nox + rm + age + dis + rad + 
    tax + ptratio + b + lstat + rm:lstat

你可以这样排除:

lmFit <- train(medv ~.-zn -so on -so on  + rm:lstat,
               data = BostonHousing,
               method = "lm")

【讨论】:

  • 您能告诉我如何从同一个示例中排除 (crim,zn,indus) 这些列吗?
  • 感谢编辑所以要删除列,我们需要用空格分隔的“-”coulmnName1“-”coulmnName2。还有一个问题,“+ rm:lstat”的目的是什么。
  • +rm:lstat 显示了 rm 和 lstat 之间的交互。你不需要引号。只是 -column 1 -column 2 等等
  • 您能否分享资源以了解更多信息?喜欢文档或书籍的链接?
  • 我工作时通常会阅读几篇不同的文章。但是,Brett Lantz 关于 R 机器学习的书可能是一个不错的起点(更具理论性)。或者,您可以通过插入符号小插图。链接到小插图cran.r-project.org/web/packages/caret/vignettes/caret.html
猜你喜欢
  • 1970-01-01
  • 2018-02-24
  • 2017-02-02
  • 2012-03-08
  • 2018-06-24
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
  • 1970-01-01
相关资源
最近更新 更多