问题描述
这可能是一个非常快速且简单的问题。我读过将代码从公式界面更改为矩阵界面可显着缩短运行时间。
我目前的代码如下:
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)
我认为这真的取决于您的数据。此外,如果您有分类变量,如果您考虑将其转换为密集矩阵的时间,我不确定它会更快