这可能是一个非常简单快捷的问题。我读过将代码从公式接口更改为矩阵接口显著提高了运行时间。
我当前的代码如下:
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)
我认为这真的取决于你的数据。此外,如果你有分类变量,如果你考虑将其转换为密集矩阵的时间,我不确定它会更快地