在R语言机器学习中,公式~.里的.代表什么?附示例代码
在R语言公式中
~.里的.到底是什么意思? 嘿,这个问题问到点子上了——在R的公式语法里,搭配data参数使用时,~.中的.是个超实用的快捷符号,我给你讲得明明白白:
核心含义
当你在公式里写.,同时指定了data参数时,它代表除了公式左侧的因变量之外,data数据框里的所有其他变量。
拿你给的示例代码来说:
fit <- svm(factor(outcome)~., data= train, probability= T)
这里的.就等价于train数据集中,除了outcome列之外的每一列——所有这些列都会被当作自变量(特征),用来训练SVM分类模型,预测outcome这个目标变量。
举个更具体的例子:假设train数据框包含outcome、age、gender、test_score这4列,那上面的公式完全等同于:
factor(outcome) ~ age + gender + test_score
是不是省了超多手动列变量名的麻烦?
实用小技巧&注意事项
- 如果你想排除某些变量不用作特征,可以用减号
-来剔除,比如:
这样就会把factor(outcome) ~ . - unwanted_columnunwanted_column从自变量列表里去掉。 .的作用范围严格限定在你指定的data数据集中,不会去全局环境里找变量,这一点在多数据集建模时特别靠谱。- 要是你没指定
data参数,.的含义会变成当前环境下的所有对象——不过这种情况在机器学习建模里几乎不会用到,咱们一般都会搭配data参数来使用,所以不用纠结这个场景。
你的示例代码写法完全正确,这种快捷方式在快速原型建模、探索性分析的时候特别高效,不用逐个敲列名就能用上所有特征~
内容的提问来源于stack exchange,提问作者Shubham Gulia
相关产品推荐
相关产品推荐

