【发布时间】:2021-01-22 12:17:45
【问题描述】:
我正在构建一个决策树,我有一堆二进制变量,我将它们编码为因子。
它们都有两个层次,第一层次是“有属性”,第二层次是“没有属性”
并且该属性被替换为列的名称,例如“有蓝色玫瑰踏板”
这是我应用数据的模型,以 iris 作为示例代码
library(rpart)
model <- rpart(Species ~., data = iris)
par(xpd = NA)
plot(model)
text(model, digits = 3)
我的问题是我应该将二进制因子变量编码为零还是一?
【问题讨论】:
-
典型的约定是用
1编码真值,用0编码假值,如果这是问题的话。 -
用 1 编码 True 对于组合逻辑和算术运算是实用的:
(a == True)*2 + (a == False)*3。 -
您通常将因子编码为 0(没有)1(有),因为如果您执行线性回归,则更容易解释系数。正表示与因子的存在呈正相关。
-
在我的 tibble 中,我应该将它们编码为级别 1 和 0 的因子还是数字?
-
在您提供
rpart(Species ~ .,data=iris)的示例中,唯一的因素是因变量Species,所以这并不重要,只要您记住水平的基本原理是什么因素。另外,请注意,您需要使用 method = "poisson" 进行分类
标签: r decision-tree