我可以在 r 的 randomForest 中同时使用分类和数值数据变量吗?

数据挖掘 机器学习 r 回归 随机森林
2022-02-20 03:08:00

我的数据中有几列包含分类数据,而其余列包含数字数据。我想使用 r 中 randomForest 库中的随机森林回归器。那么这个库是否可以开箱即用地处理这些数据(假设我已经对数据进行了预处理并准备好直接输入回归器)?

数据(沿着这条线):

Target | product | status | revenue | MS
  0.8      abc       NC      1000    0.5
  0.5      abc       UR      200     0.2
  0.2      pqr       NC      800     0.04
1个回答

通常,您始终可以将分类数据转换为数值数据。许多有经验的 STATA 用户需要定期做。如果您将性别变量编码为“男性/女性”,则需要一个二进制性别变量记录为 0/1。如果您有四个级别的变量,例如在足球队中的主要角色“守门员/防守/中场/进攻” ,您可以以中场为参考,生成守门员、中场和进攻变量均编码为 0/1。在插入符号中,该dummyVars函数允许轻松创建虚拟变量。这是一个将圆柱体转换为因子的示例,然后dummyfied

 library(caret) 
 mtcars$cyl <- as.factor(mtcars$cyl)
 dmy<- dummyVars(" ~ .", data = mtcars, fullRank=T)
 dummy.mtcars <- data.frame(predict(dmy, newdata = mtcars))
 head(dummy.mtcars)