Uyum işlevinde hangi modellerin as.matrix kullandığını bulmak için bu kod parçasını kullanabilirsiniz.
As.matrix'in, seyrek bir matrisi, tam üfleme matrisine dönüştürdüğünü unutmayın. Bellek sorunları yaşayabilirsiniz. Altta yatan modellerin seyrek bir matrisi kabul edip etmediğini test etmedim.
library(caret) # run on version 6.0-71
model_list <- getModelInfo()
df <- data.frame(models = names(model_list),
fit = rep("", length(model_list)),
stringsAsFactors = FALSE)
for (i in 1:length(model_list)) {
df$fit[i] <- as.expression(functionBody(model_list[[i]]$fit))
}
# find xgboost matrix
df$models[grep("xgb.DMatrix", df$fit)]
[1] "xgbLinear" "xgbTree"
# find all models where fit contains as.matrix(x)
df$models[grep("as.matrix\\(x\\)", df$fit)]
[1] "bdk" "binda" "blasso" "blassoAveraged" "bridge" "brnn"
[7] "dnn" "dwdLinear" "dwdPoly" "dwdRadial" "enet" "enpls.fs"
[13] "enpls" "foba" "gaussprLinear" "gaussprPoly" "gaussprRadial" "glmnet"
[19] "knn" "lars" "lars2" "lasso" "logicBag" "LogitBoost"
[25] "lssvmLinear" "lssvmPoly" "lssvmRadial" "mlpSGD" "nnls" "ordinalNet"
[31] "ORFlog" "ORFpls" "ORFridge" "ORFsvm" "ownn" "PenalizedLDA"
[37] "ppr" "qrnn" "randomGLM" "relaxo" "ridge" "rocc"
[43] "rqlasso" "rqnc" "rvmLinear" "rvmPoly" "rvmRadial" "sda"
[49] "sddaLDA" "sddaQDA" "sdwd" "snn" "spikeslab" "svmLinear"
[55] "svmLinear2" "svmLinear3" "svmLinearWeights" "svmLinearWeights2" "svmPoly" "svmRadial"
[61] "svmRadialCost" "svmRadialSigma" "svmRadialWeights" "xgbLinear" "xgbTree" "xyf"
Teşekkür ederiz. Bu sorumu cevaplıyor. Fakat as.matrix türünün kullanımı, seyrek matris kullanma amacını yitirmektedir. –