如何将随机森林代码从公式界面更改为矩阵界面?

问题描述

这可能是一个非常快速且简单的问题。我读过将代码从公式界面更改为矩阵界面可显着缩短运行时间。

我目前的代码如下:

randomForest(linear_weight ~ .,data = df,importance = T)

如何使用 randomForest 将此代码更改为矩阵接口?

就这么简单吗?

randomForest(df,linear_weight,importance = T)

解决方法

我猜您正在寻找使用 x=y= 输入,下面不知道您的数据框,并假设您所有的自变量都是数字而不是分类:

X_train = as.matrix(df[,setdiff(colnames(df),"linear_weight")])
y_train = df$linear_weight

如果你有分类,那么:

X_train = model.matrix(linear_weight ~ .,data=df)

之后:

randomForest(x = X_train,y = y_train,importance = TRUE)

我认为这真的取决于您的数据。此外,如果您有分类变量,如果您考虑将其转换为密集矩阵的时间,我不确定它会更快