誰も、randomForestとbigmemoryライブラリを使用して分類(回帰ではなく)を設定できました。私は、「フォーミュラアプローチ」は使用できないことを認識しており、「x = predictors、y = response approach」に頼らざるを得ません。大きなメモリライブラリはカテゴリ値を持つレスポンスベクタを扱うことができません私の場合、私は2つのレベルを持っていて、どちらも文字で表現されています。R:randomForestで分類するためのbigmemoryライブラリの使用
bigmemoryの文書によると... "データフレームには文字ベクトルが因子に変換され、
「数値因子レベルに変換された任意のbigmemoryで動作するようにランダムフォレスト分類を取得するための回避策を提案した?#EXAMPLE to problem
library(randomForest)
library(bigmemory)
# Removing any extra objects from my workspace (just in case)
rm(list=ls())
#first small matrix
small.mat <- matrix(sample(0:1,5000,replace = TRUE),1000,5)
colnames(small.mat) <- paste("V",1:5,sep = "")
small.mat[,5] <- as.factor(small.mat[,5])
small.rf <- randomForest(V5 ~ .,data = small.mat, mtry=2, do.trace=100)
print(small.rf)
small.result <- matrix(0,1000,1)
small.result <- predict(small.rf, data=small.mat[,-5])
#now small dataframe Works!
small.mat <- matrix(sample(0:1,5000,replace = TRUE),1000,5)
colnames(small.mat) <- paste("V",1:5,sep = "")
small.data <- as.data.frame(small.mat)
small.data[,5] <- as.factor(small.data[,5])
small.rf <- randomForest(V5 ~ .,data = small.data, mtry=2, do.trace=100)
print(small.rf)
small.result <- matrix(0,1000,1)
small.result <- predict(small.rf, data=small.data[,-5])
#then big matrix Classification Does NOT Work :-(
#----------------****************************----
big.mat <- as.big.matrix(small.mat, type = "integer")
#Line below throws error, "cannot coerce class 'structure("big.matrix", package = "bigmemory")' into a data.frame"
big.rf <- randomForest(V5~.,data = big.mat, do.trace=10)
#Runs without error but only regression
big.rf <- randomForest(x = big.mat[,-5], y = big.mat[,5], mtry=2, do.trace=100)
print(big.rf)
big.result <- matrix(0,1000,1)
big.result <- predict(big.rf, data=big.mat[,-5])
'y = as.factor(big.mat [、5])'を介して因数分解する強制? – joran
私は、 'randomForest'が実際にbig.matrix入力をサポートしているのかどうかはわかりません。 – joran
私が知っているように、 'randomForest'は、モデルビルドを呼び出すときに、すべての' bigmemory'データをRAMにロードします。 – DrDom