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

How do I change Random Forest code from formula interface to matrix interface?

这可能是一个非常快速、简单的问题。我读到将代码从公式界面更改为矩阵界面可显着提高 运行 倍。

我目前的代码如下:

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)

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